(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 13.1' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[    271020,       6922]
NotebookOptionsPosition[    243322,       6451]
NotebookOutlinePosition[    243803,       6470]
CellTagsIndexPosition[    243760,       6467]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["SpTm Document", "Title",
 CellChangeTimes->{{3.881380083838918*^9, 3.881380085323628*^9}, {
  3.8831225336102076`*^9, 
  3.883122544748518*^9}},ExpressionUUID->"992f1165-6867-4b9b-9b9b-\
e95a71e152ea"],

Cell[CellGroupData[{

Cell["Introduction", "Section",
 CellChangeTimes->{{3.8863669251093416`*^9, 
  3.8863669376140137`*^9}},ExpressionUUID->"f895ce69-f457-4698-b2e6-\
18f38e04795c"],

Cell["\<\
SpTm is short for Space-Tim, which is the background of General Relativity. \
This package is for calculations of tensors expression with abstract index \
notation. You can use this package to do some calculations when you are \
learning Differential Geometry or General Relativity. Calculate all \
components of a tensor  of a expression runs out of draft paper and makes it \
easy to make mistake.But this package will make it easier.
 In this package, you can use a readable form to input tensors and expression \
in a easy way.\
\>", "Abstract",
 CellChangeTimes->{{3.886366949702859*^9, 3.8863669562506742`*^9}, {
  3.8863669885087132`*^9, 3.886367321247672*^9}, {3.886367412410941*^9, 
  3.8863675621831384`*^9}, {3.8863838442121296`*^9, 
  3.8863838672620773`*^9}},ExpressionUUID->"d36396cf-8bc6-46c6-9a78-\
bd0d35efaac3"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Install and Import", "Section",
 CellChangeTimes->{{3.883641225742139*^9, 3.883641263922011*^9}, {
  3.8837087457913804`*^9, 
  3.8837087463045173`*^9}},ExpressionUUID->"cd6311c4-4fd7-49b8-b6bd-\
bb6463c3a388"],

Cell[CellGroupData[{

Cell["Method 1", "Subsection",
 CellChangeTimes->{{3.8836412445683746`*^9, 3.8836412869512835`*^9}, 
   3.8837087551330123`*^9},ExpressionUUID->"6576790c-9f70-4ead-befd-\
53a043c5c7c9"],

Cell[TextData[{
 "Download SpTm.wl from my GitHub - ",
 ButtonBox["Jayce-Ping/SpTm",
  BaseStyle->"Hyperlink",
  ButtonData->{
    URL["https://github.com/Jayce-Ping/SpTm"], None},
  ButtonNote->"https://github.com/Jayce-Ping/SpTm"],
 " manually,  place it in the same directory of the current Notebook and run \
one of the following commands\:ff1a"
}], "Text",
 CellChangeTimes->{{3.8836412927021756`*^9, 3.883641346442271*^9}, {
  3.883641378843009*^9, 3.8836414338934865`*^9}, {3.8836843958967094`*^9, 
  3.883684396256482*^9}, {3.8837087620908732`*^9, 3.883708772682064*^9}, {
  3.883709561203928*^9, 3.8837095991718426`*^9}, {3.8863838810175705`*^9, 
  3.886383886951519*^9}, {3.8863839230323405`*^9, 3.8863839580814395`*^9}, {
  3.886383991986756*^9, 
  3.8863839960157747`*^9}},ExpressionUUID->"330e8f1c-4728-483f-9114-\
cb105092065c"],

Cell[BoxData[
 RowBox[{"Get", "@", 
  RowBox[{"FileNameJoin", "[", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"NotebookDirectory", "[", "]"}], ",", "\"\<SpTm.wl\>\""}], "}"}],
    "]"}]}]], "Input",
 CellChangeTimes->{{3.8810057360810456`*^9, 3.881005826356372*^9}, {
  3.8864566661554923`*^9, 3.8864566667703896`*^9}},
 CellLabel->"In[1]:=",ExpressionUUID->"5be65ce5-ee35-4e15-90c0-2f0ac0e85fcb"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Method 2 (recommend) ", "Subsection",
 CellChangeTimes->{{3.88364144955291*^9, 3.8836415018418617`*^9}, {
  3.883708756971794*^9, 
  3.883708757470974*^9}},ExpressionUUID->"be830d1a-209d-4a77-b294-\
177f90002875"],

Cell["With the Internet connected, run the following command\:ff1a", "Text",
 CellChangeTimes->{{3.8836415042615013`*^9, 3.883641520078022*^9}, {
  3.8837096061415586`*^9, 
  3.883709620960829*^9}},ExpressionUUID->"4a8e168f-88d9-454b-bec2-\
7f49a371578b"],

Cell[BoxData[
 RowBox[{
  RowBox[{"URLDownload", "[", 
   RowBox[{
   "\"\<https://raw.githubusercontent.com/Jayce-Ping/SpTm/main/SpTm.wl\>\"", 
    ",", 
    RowBox[{"FileNameJoin", "[", 
     RowBox[{"{", 
      RowBox[{
      "$UserBaseDirectory", ",", " ", "\"\<Applications\>\"", ",", " ", 
       "\"\<SpTm.wl\>\""}], "}"}], "]"}]}], "]"}], ";"}]], "Input",
 CellChangeTimes->{{3.8836415220073876`*^9, 3.883641533753528*^9}, {
   3.8836838779631033`*^9, 3.88368388757158*^9}, {3.8836839442056456`*^9, 
   3.883683971479333*^9}, {3.883684214181405*^9, 3.883684260581708*^9}, 
   3.8836843828303185`*^9, 
   3.884495459173067*^9},ExpressionUUID->"56e704cd-2e17-4ea2-86e4-\
b7fca854df1c"],

Cell["\<\
The command above will download the SpTm.wl into the right directory. After \
this, any time you want to import SpTm, just run one of the following \
commands in any Notebook:\
\>", "Text",
 CellChangeTimes->{{3.8836415363357935`*^9, 3.8836416235269403`*^9}, {
  3.8837096283460226`*^9, 3.883709693970992*^9}, {3.886384005950906*^9, 
  3.886384027129379*^9}},ExpressionUUID->"82cf8e41-158d-4104-b64b-\
9ea43e9b4184"],

Cell[BoxData[
 RowBox[{"<<", "SpTm`"}]], "Input",
 CellChangeTimes->{{3.8836416524470835`*^9, 3.8836416551319284`*^9}},
 CellLabel->"In[1]:=",ExpressionUUID->"e0fc13ed-95c3-4209-9a62-d845bf3cbb39"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<SpTm`\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.8836416599974866`*^9, 3.8836416694431705`*^9}},
 CellLabel->"In[1]:=",ExpressionUUID->"67169ae6-624e-4aa0-acac-2d2ba4354708"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Get Help and Usage Information", "Section",
 CellChangeTimes->{{3.886367327585736*^9, 
  3.8863673347227097`*^9}},ExpressionUUID->"5cf86fe3-7899-43e8-8567-\
7f8a98eb525f"],

Cell["\<\
Using the following command to get the usage of every function:\
\>", "Text",
 CellChangeTimes->{{3.886367338114044*^9, 
  3.8863673658616724`*^9}},ExpressionUUID->"d0fa4f5c-63d2-4d54-8f8c-\
1ea8ab9d952c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"?", "SpTm`*"}]], "Input",
 CellChangeTimes->{{3.886367367458969*^9, 3.8863673724741397`*^9}},
 CellLabel->"In[2]:=",ExpressionUUID->"483b6952-d6a6-429d-abbb-8b40d203d971"],

Cell[BoxData[
 StyleBox[
  FrameBox[GridBox[{
     {
      DynamicModuleBox[{Typeset`open$$ = True}, 
       PaneSelectorBox[{False->
        ButtonBox[
         RowBox[{
          
          DynamicBox[FEPrivate`FrontEndResource[
           "FEBitmaps", "RightPointerOpener"]], " ", 
          StyleBox["SpTm`", "InformationGridGroupHeader"]}],
         Appearance->None,
         BaseStyle->"InformationGridLink",
         ButtonFunction:>FEPrivate`Set[Typeset`open$$, True],
         Evaluator->Automatic,
         Method->"Preemptive"], True->
        PaneBox[GridBox[{
           {
            ButtonBox[
             RowBox[{
              
              DynamicBox[FEPrivate`FrontEndResource[
               "FEBitmaps", "DownPointerOpener"],
               ImageSizeCache->{10., {3., 7.}}], " ", 
              StyleBox["SpTm`", "InformationGridGroupHeader"]}],
             Appearance->None,
             BaseStyle->"InformationGridLink",
             ButtonFunction:>FEPrivate`Set[Typeset`open$$, False],
             Evaluator->Automatic,
             Method->"Preemptive"]},
           {
            PaneBox[GridBox[{
               {
                ButtonBox[
                 StyleBox["BoostMatrix", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "BoostMatrix", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SCalcRicciTensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCalcRicciTensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SetMetricSymbol", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SetMetricSymbol", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STCalcAbstractExpression", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STCalcAbstractExpression", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SVolumeElement", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SVolumeElement", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic]},
               {
                ButtonBox[
                 StyleBox["CoordinatesInfo", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "CoordinatesInfo", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SCalcRiemannTensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCalcRiemannTensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SetTensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SetTensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STCalcComponents", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STCalcComponents", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["ToTensorExpression", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "ToTensorExpression", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic]},
               {
                ButtonBox[
                 StyleBox["MetricInfo", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "MetricInfo", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SCalcWeylTensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCalcWeylTensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["ShowForm", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "ShowForm", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STCalcTensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STCalcTensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], ""},
               {
                ButtonBox[
                 StyleBox["SCalcChristoffel", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCalcChristoffel", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SCoordinatesTransform", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCoordinatesTransform", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SLineElement", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SLineElement", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], ""},
               {
                ButtonBox[
                 StyleBox["SCalcEinsteinTensor", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCalcEinsteinTensor", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SetCoordinates", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SetCoordinates", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SpTmHelp", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SpTmHelp", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STensorInfo", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STensorInfo", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], ""},
               {
                ButtonBox[
                 StyleBox["SCalcRicciScalar", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SCalcRicciScalar", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["SetMetric", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "SetMetric", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STAntiSymmetrize", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STAntiSymmetrize", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], 
                ButtonBox[
                 StyleBox["STSymmetrize", "InformationGridButton"],
                 Appearance->None,
                 BaseStyle->"InformationGridLink",
                 
                 ButtonData:>{
                  "Info-5799d34d-6c70-4ced-bfcf-bd22bfed98c6", {
                   "STSymmetrize", "SpTm`"}, False},
                 ButtonNote->"SpTm`",
                 Evaluator->Automatic], ""}
              },
              DefaultBaseStyle->"Text",
              
              GridBoxAlignment->{
               "Columns" -> {{Left}}, "Rows" -> {{Baseline}}},
              GridBoxItemSize->{"Columns" -> {{
                   Scaled[0.19]}}}],
             ImageMargins->{{10, 0}, {0, 2}}]}
          },
          GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}],
         FrameMargins->{{0, 0}, {8, 0}}]}, Dynamic[Typeset`open$$],
        ImageSize->Automatic]]}
    },
    GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}},
    GridBoxDividers->{"ColumnsIndexed" -> {{False}}, "RowsIndexed" -> {}},
    GridBoxSpacings->{"Columns" -> {
        Offset[0.27999999999999997`], {
         Offset[0.5599999999999999]}, 
        Offset[0.27999999999999997`]}, "Rows" -> {
        Offset[0.2], {
         Offset[0.8]}, 
        Offset[0.2]}}],
   BaseStyle->"InformationTitleFrame"], "InformationGridPlain"]], "Output",
 CellChangeTimes->{3.886367377197783*^9, 3.886452058623745*^9, 
  3.892186870126392*^9},
 CellLabel->"Out[2]=",ExpressionUUID->"ab731e29-59b1-4353-95c2-5603e87b1362"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Basic Usage", "Section",
 CellChangeTimes->{{3.8835088338597097`*^9, 3.8835088375599337`*^9}, {
  3.8837097047824745`*^9, 
  3.8837097181513977`*^9}},ExpressionUUID->"2937bdc0-83bb-48db-99d1-\
4c2d0a03f2f3"],

Cell[CellGroupData[{

Cell["Input a Tensor", "Subsection",
 CellChangeTimes->{{3.883508895738841*^9, 3.883508896853963*^9}, {
  3.883709720931706*^9, 3.88370972704167*^9}, {3.886384079014032*^9, 
  3.8863840872172008`*^9}},ExpressionUUID->"2cf0547c-22e1-44c9-8430-\
8bf337689341"],

Cell[TextData[{
 "Use Ctrl+_ to input the subscript\:ff0cuse Ctrl+^ to input superscript. For \
example, ",
 Cell[BoxData[
  FormBox[
   RowBox[{
    SuperscriptBox[
     SubscriptBox["h", "ab"], "cd"], " ", "or", " ", 
    RowBox[{
     SubsuperscriptBox["h", "ab", "cd"], "."}]}], TraditionalForm]],
  FormatType->TraditionalForm,ExpressionUUID->
  "880613a9-a631-4c50-a252-d10164ea8b2c"],
 " You can use ",
 Cell[BoxData[
  FormBox[
   RowBox[{"ctrl", "+", "-"}], TraditionalForm]],
  FormatType->TraditionalForm,ExpressionUUID->
  "3cc39c38-37b0-48ad-bd01-13968d2d5851"],
 " to input the subscripts and use ctrl+6 or ctrl+5 to input the \
superscripts.\nAnd you can use the following function to see what SpTm will \
do to the expression before:"
}], "Text",
 CellChangeTimes->{{3.883508889957507*^9, 3.883508974610052*^9}, {
  3.883709729420081*^9, 3.8837097861606226`*^9}, {3.886384135453489*^9, 
  3.8863842932791977`*^9}},ExpressionUUID->"1211a31b-f51e-487a-890d-\
faf234cfc72c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"ToTensorExpression", "[", 
    SuperscriptBox[
     SubscriptBox["h", "ab"], "cd"], "]"}], ",", 
   RowBox[{"ToTensorExpression", "[", 
    SubsuperscriptBox["h", "ab", "cd"], "]"}]}], "}"}]], "Input",
 CellChangeTimes->{{3.8835088393745947`*^9, 3.883508880571756*^9}, {
  3.8836045006219053`*^9, 3.8836045041908617`*^9}, {3.89218700587626*^9, 
  3.892187039303621*^9}},
 CellLabel->"In[4]:=",ExpressionUUID->"29056a03-1185-4c10-9a32-4b7545eeeeb0"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"STensor", "[", 
    RowBox[{"h", ",", 
     RowBox[{"{", 
      RowBox[{"a", ",", "b"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"c", ",", "d"}], "}"}]}], "]"}], ",", 
   RowBox[{"STensor", "[", 
    RowBox[{"h", ",", 
     RowBox[{"{", 
      RowBox[{"a", ",", "b"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"c", ",", "d"}], "}"}]}], "]"}]}], "}"}]], "Output",
 CellChangeTimes->{
  3.883508977561695*^9, {3.883604498281648*^9, 3.8836045048385787`*^9}, 
   3.883604559078636*^9, 3.8864875103443813`*^9, {3.8921870276671534`*^9, 
   3.8921870396439037`*^9}},
 CellLabel->"Out[4]=",ExpressionUUID->"d1743b8f-c520-40f4-87ee-9f467e972c7f"]
}, Open  ]],

Cell[TextData[{
 StyleBox["ToTensorExpression",
  FontWeight->"Bold"],
 " shows the SpTm Interpretation of your input. STensor[h, {sub}, {sup}] \
represents a tensor with abstract indices, named h, with sub indices {sub} \
and super indices {sup}."
}], "Text",
 CellChangeTimes->{{3.883508982225129*^9, 3.883509086459501*^9}, {
   3.883709791051011*^9, 3.883709918942305*^9}, 3.8921870032313004`*^9, {
   3.892187055973754*^9, 
   3.89218706038422*^9}},ExpressionUUID->"5c00e9c1-fcc9-4fa4-9e4e-\
e96bcd3112bc"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Simplify an Abstract Expression", "Subsection",
 CellChangeTimes->{{3.883509095651495*^9, 3.8835091094895077`*^9}, {
  3.8837099219207964`*^9, 
  3.883709964390868*^9}},ExpressionUUID->"9b23f368-08a7-4775-a5d3-\
53455ab635be"],

Cell["\<\
Use STCalcAbstractExpression to transform and simplify an abstract expression:\
\>", "Text",
 CellChangeTimes->{{3.883509112550996*^9, 3.8835091484659147`*^9}, {
   3.8837099339108953`*^9, 3.8837099569409614`*^9}, 
   3.892186922254072*^9},ExpressionUUID->"1b3073df-8d81-4f79-9ea0-\
c6c12ec34818"],

Cell[BoxData[
 RowBox[{
  RowBox[{"expr", "=", 
   RowBox[{
    SuperscriptBox["v", "d"], 
    RowBox[{
     SubscriptBox["\[Del]", "a"], 
     RowBox[{"(", 
      RowBox[{
       SubscriptBox["g", "bc"], " ", 
       SuperscriptBox["w", "e"]}], ")"}]}]}]}], ";"}]], "Input",
 CellChangeTimes->{{3.8835095079732056`*^9, 3.8835095137222385`*^9}, 
   3.883604515459591*^9},
 CellLabel->"In[5]:=",ExpressionUUID->"5e554bb4-b06a-431f-b238-a8741b6d89fc"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcAbstractExpression", "[", "expr", "]"}]], "Input",
 CellChangeTimes->{{3.883509151134692*^9, 3.883509216961632*^9}, {
   3.8835094945923553`*^9, 3.8835095202901397`*^9}, 3.8921869111926603`*^9},
 CellLabel->"In[6]:=",ExpressionUUID->"3a927a4f-bcfb-4d1b-a76c-35fc8966d135"],

Cell[BoxData[
 RowBox[{
  TemplateBox[{
    RowBox[{"STensor", "[", 
      RowBox[{"w", ",", 
        RowBox[{"{", "}"}], ",", 
        RowBox[{"{", "e", "}"}]}], "]"}], "a"},
   "Grad"], " ", 
  RowBox[{"STensor", "[", 
   RowBox[{"g", ",", 
    RowBox[{"{", 
     RowBox[{"b", ",", "c"}], "}"}], ",", 
    RowBox[{"{", "}"}]}], "]"}], " ", 
  RowBox[{"STensor", "[", 
   RowBox[{"v", ",", 
    RowBox[{"{", "}"}], ",", 
    RowBox[{"{", "d", "}"}]}], "]"}]}]], "Output",
 CellChangeTimes->{{3.883509193138229*^9, 3.883509217962493*^9}, {
   3.883509496070565*^9, 3.883509520831612*^9}, 3.8836045173371487`*^9, 
   3.883604562730315*^9, 3.886487513408907*^9, 3.8921870748578067`*^9},
 CellLabel->"Out[6]=",ExpressionUUID->"081a0f15-4ea5-404c-91ef-eeecb8a7550c"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"%", "//", "FullForm"}]], "Input",
 CellChangeTimes->{{3.8835092250149055`*^9, 3.883509230167117*^9}},
 CellLabel->"In[7]:=",ExpressionUUID->"dd274bfe-a847-4cfd-877a-0fda5780fa70"],

Cell[BoxData[
 TagBox[
  StyleBox[
   RowBox[{"Times", "[", 
    RowBox[{
     RowBox[{"Grad", "[", 
      RowBox[{
       RowBox[{"STensor", "[", 
        RowBox[{"w", ",", 
         RowBox[{"List", "[", "]"}], ",", 
         RowBox[{"List", "[", "e", "]"}]}], "]"}], ",", "a"}], "]"}], ",", 
     RowBox[{"STensor", "[", 
      RowBox[{"g", ",", 
       RowBox[{"List", "[", 
        RowBox[{"b", ",", "c"}], "]"}], ",", 
       RowBox[{"List", "[", "]"}]}], "]"}], ",", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"List", "[", "]"}], ",", 
       RowBox[{"List", "[", "d", "]"}]}], "]"}]}], "]"}],
   ShowSpecialCharacters->False,
   ShowStringCharacters->True,
   NumberMarks->True],
  FullForm]], "Output",
 CellChangeTimes->{
  3.8835092304653625`*^9, {3.88350949938669*^9, 3.8835095227463303`*^9}, 
   3.883604565965254*^9, 3.892187076103345*^9},
 CellLabel->
  "Out[7]//FullForm=",ExpressionUUID->"84609748-2a3c-4b1c-ad47-9add21b43b40"]
}, Open  ]],

Cell[TextData[{
 "Because \[Del] is the derivative operator adapted to the metric g, the \
result is as above. \nThe expression above is the form SpTm deal, which is \
not that readable for human. We can use ",
 StyleBox["ShowForm",
  FontWeight->"Bold"],
 " to make it readable."
}], "Text",
 CellChangeTimes->{{3.8835092474557557`*^9, 3.883509313926421*^9}, {
  3.8835093450656123`*^9, 3.883509359271285*^9}, {3.8837099735809193`*^9, 
  3.883710107860481*^9}},ExpressionUUID->"706abe68-fed2-4589-a5ba-\
0b039ce905b8"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"%", "//", "ShowForm"}]], "Input",
 CellChangeTimes->{{3.8835093835753264`*^9, 3.8835093890967493`*^9}},
 CellLabel->"In[8]:=",ExpressionUUID->"5b513699-a459-411e-9a07-bc84f71818d4"],

Cell[BoxData[
 RowBox[{
  TemplateBox[{
    TemplateBox[{"w", 
      TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
     SuperscriptBox], "a"},
   "Grad"], " ", 
  SubscriptBox["g", 
   TemplateBox[{"b", "c"},
    "RowDefault"]], " ", 
  TemplateBox[{"v", 
    TemplateBox[{"d"}, "RowDefault"]},
   "Superscript"]}]], "Output",
 CellChangeTimes->{
  3.883509393931878*^9, {3.883509500867369*^9, 3.8835095259985943`*^9}, 
   3.8836045692169633`*^9, 3.892187078278597*^9},
 CellLabel->
  "Out[8]//StandardForm=",ExpressionUUID->"59a66ba7-19bc-44e9-8bbe-\
bf5f4a5c49fd"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Symmetrize and Antisymmetrize", "Subsection",
 CellChangeTimes->{{3.883509415085127*^9, 3.8835094393044367`*^9}, {
  3.883710112769858*^9, 
  3.883710124709722*^9}},ExpressionUUID->"7b7b8ec5-9d82-44b5-b26a-\
df80bc04e09b"],

Cell[TextData[{
 "You can use ",
 StyleBox["STSymmetrize",
  FontWeight->"Bold"],
 "/",
 StyleBox["STAntisymmetrize",
  FontWeight->"Bold"],
 " to symmetrize/antisymmetrize a tensor or an expression as follows:"
}], "Text",
 CellChangeTimes->{{3.883710138653303*^9, 
  3.883710220190374*^9}},ExpressionUUID->"3fae47da-3065-40a5-94e8-\
aacf7c101ce9"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STSymmetrize", "[", 
  RowBox[{"expr", ",", 
   RowBox[{"{", 
    RowBox[{"a", ",", "b", ",", "c"}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8835094422343655`*^9, 3.8835094531613073`*^9}, {
  3.8835095347222557`*^9, 3.8835095353634634`*^9}},
 CellLabel->"In[9]:=",ExpressionUUID->"fae79243-ef81-4a88-b67b-55119a154aa3"],

Cell[BoxData[
 RowBox[{
  FractionBox["1", "6"], " ", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"a", ",", "b"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "c"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"a", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "b"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "a"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "c"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "a"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"c", ",", "a"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "b"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"c", ",", "b"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "a"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}]}], ")"}]}]], "Output",
 CellChangeTimes->{3.883509462585811*^9, 3.8835095358996944`*^9, 
  3.8836045736861525`*^9, 3.886487518587697*^9, 3.8921870809044924`*^9},
 CellLabel->"Out[9]=",ExpressionUUID->"0e94458b-60a7-418e-947a-5ded7e624634"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"%", "//", "ShowForm"}]], "Input",
 CellChangeTimes->{{3.883509475435532*^9, 3.8835094796864233`*^9}},
 CellLabel->"In[10]:=",ExpressionUUID->"8157e03e-e7da-43fb-b135-e70b1d87a12b"],

Cell[BoxData[
 RowBox[{
  FractionBox["1", "6"], " ", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"a", "b"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "c"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"a", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "b"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "a"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "c"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "a"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"c", "a"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "b"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"c", "b"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "a"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}]}], ")"}]}]], "Output",
 CellChangeTimes->{3.883509484659371*^9, 3.8835095403107805`*^9, 
  3.883604574949935*^9, 3.89218708209262*^9},
 CellLabel->
  "Out[10]//StandardForm=",ExpressionUUID->"0cd2d9d3-3dc2-47f7-9115-\
da1af8dad711"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STAntiSymmetrize", "[", 
  RowBox[{"expr", ",", 
   RowBox[{"{", 
    RowBox[{"a", ",", "e", ",", "d"}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8835095457365217`*^9, 3.8835095557113895`*^9}},
 CellLabel->"In[11]:=",ExpressionUUID->"7426e480-e151-4fd9-b473-97f25450df99"],

Cell[BoxData[
 RowBox[{
  FractionBox["1", "6"], " ", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "d", "}"}]}], "]"}]}], ")"}], "e"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "a", "}"}]}], "]"}]}], "-", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "d"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "a", "}"}]}], "]"}]}], "-", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "a", "}"}]}], "]"}]}], ")"}], "e"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "e", "}"}]}], "]"}]}], ")"}], "a"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "d", "}"}]}], "]"}]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "a", "}"}]}], "]"}]}], ")"}], "d"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "e", "}"}]}], "]"}]}], "-", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           RowBox[{"STensor", "[", 
             RowBox[{"g", ",", 
               RowBox[{"{", 
                 RowBox[{"b", ",", "c"}], "}"}], ",", 
               RowBox[{"{", "}"}]}], "]"}], " ", 
           RowBox[{"STensor", "[", 
             RowBox[{"w", ",", 
               RowBox[{"{", "}"}], ",", 
               RowBox[{"{", "d", "}"}]}], "]"}]}], ")"}], "a"},
      "Grad"], " ", 
     RowBox[{"STensor", "[", 
      RowBox[{"v", ",", 
       RowBox[{"{", "}"}], ",", 
       RowBox[{"{", "e", "}"}]}], "]"}]}]}], ")"}]}]], "Output",
 CellChangeTimes->{3.8835095665554647`*^9, 3.8836045762027426`*^9, 
  3.886487520957013*^9, 3.8921870832048717`*^9},
 CellLabel->"Out[11]=",ExpressionUUID->"97647cef-cd1a-453b-aab9-ba352671ab85"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"%", "//", "ShowForm"}]], "Input",
 CellChangeTimes->{{3.883509575370508*^9, 3.883509579176064*^9}},
 CellLabel->"In[12]:=",ExpressionUUID->"18847be7-305f-44c0-b66f-dfefd3ea5a44"],

Cell[BoxData[
 RowBox[{
  FractionBox["1", "6"], " ", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"d"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "e"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"a"}, "RowDefault"]},
      "Superscript"]}], "-", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "d"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"a"}, "RowDefault"]},
      "Superscript"]}], "-", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"a"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "e"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"e"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "a"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"d"}, "RowDefault"]},
      "Superscript"]}], "+", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"a"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "d"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"e"}, "RowDefault"]},
      "Superscript"]}], "-", 
    RowBox[{
     TemplateBox[{
       RowBox[{"(", 
         RowBox[{
           SubscriptBox["g", 
            TemplateBox[{"b", "c"}, "RowDefault"]], " ", 
           TemplateBox[{"w", 
             TemplateBox[{"d"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
            SuperscriptBox]}], ")"}], "a"},
      "Grad"], " ", 
     TemplateBox[{"v", 
       TemplateBox[{"e"}, "RowDefault"]},
      "Superscript"]}]}], ")"}]}]], "Output",
 CellChangeTimes->{3.8835095867273283`*^9, 3.8836045774515295`*^9, 
  3.8921870848373775`*^9},
 CellLabel->
  "Out[12]//StandardForm=",ExpressionUUID->"a292ee60-5da5-4be1-9212-\
8fc22277fe1a"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Set Coordinate System", "Subsection",
 CellChangeTimes->{{3.8864521830247917`*^9, 
  3.886452195573486*^9}},ExpressionUUID->"e14d72b8-4e17-417b-baec-\
843a1ed3c5fe"],

Cell[TextData[{
 "In fact, most of our work will be done with coordinate system. You can use ",
 StyleBox["SetCoordinates ",
  FontWeight->"Bold"],
 "to choose a coordinate system:"
}], "Text",
 CellChangeTimes->{{3.8864522052750945`*^9, 
  3.8864522779130707`*^9}},ExpressionUUID->"6fad6f8d-217e-470a-89b5-\
f72faecfadd5"],

Cell[BoxData[
 RowBox[{"SetCoordinates", "[", 
  RowBox[{"{", 
   RowBox[{"r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], "]"}]], "Input",
 CellChangeTimes->{{3.886452279277152*^9, 3.886452289230732*^9}},
 CellLabel->"In[13]:=",ExpressionUUID->"ec917d1b-509f-4dcb-abfa-9935ca95b34a"],

Cell["If there is no warning, the coordinate system has been set.", "Text",
 CellChangeTimes->{{3.886452293962207*^9, 
  3.886452325955162*^9}},ExpressionUUID->"34dbf6df-e625-404e-8c7b-\
774b0a7c84bf"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Coordinate Basis and Dual Coordinate Basis", "Subsection",
 CellChangeTimes->{{3.8864523292283125`*^9, 3.886452373212103*^9}, {
  3.8864524057892914`*^9, 3.886452408039797*^9}, {3.8864524609873867`*^9, 
  3.886452463184641*^9}},ExpressionUUID->"30b481f7-43d3-489c-bc46-\
fc3a98ad6a21"],

Cell[TextData[{
 "In Differential Geometry, there is one set of important vectors - \
coordinate basis, which we usually denote as ",
 Cell[BoxData[
  FormBox[
   SuperscriptBox[
    RowBox[{"(", 
     FractionBox["\[PartialD]", 
      RowBox[{"\[PartialD]", 
       SuperscriptBox["x", "i"]}]], ")"}], "a"], TraditionalForm]],
  ExpressionUUID->"870701b6-3a68-456a-b5d1-409f632111f7"],
 ", where a is the abstract index and ",
 Cell[BoxData[
  FormBox[
   SuperscriptBox["x", "i"], TraditionalForm]],ExpressionUUID->
  "b15d6213-ec25-44b0-afb1-547fce6b7333"],
 " is the i-th coordinate basis. But in Mathematica, directly use \[PartialD] \
will cause a warning and abort like below:"
}], "Text",
 CellChangeTimes->{{3.8864524671093597`*^9, 
  3.8864527614618225`*^9}},ExpressionUUID->"fe7b452f-b02f-46a7-a4b0-\
f726c5fff5c5"],

Cell[BoxData["\[PartialD]"], "Code",
 CellChangeTimes->{{3.886452702624285*^9, 3.8864527031871357`*^9}},
 EmphasizeSyntaxErrors->True,
 CellLabel->"In[4]:=",ExpressionUUID->"ac94f8f3-7f7c-4e9a-9625-75dd6f95b04d"],

Cell[TextData[{
 "Besides, it\[CloseCurlyQuote]s complicated for input a vector using ",
 Cell[BoxData[
  FormBox[
   FractionBox["\[PartialD]", 
    RowBox[{"\[PartialD]", 
     SuperscriptBox["x", "i"]}]], TraditionalForm]],ExpressionUUID->
  "053bfa58-1a50-4ab3-8c28-bf05939dc0f8"],
 ". You need to press Ctrl and switch cursor again and again. But there is a \
meaningless symbol in Mathematica \[DifferentialD] or DifferentialD[] which \
is able to denote the dual coordinate basis like \[DifferentialD]x or \
DifferentialD[x] and not encounter a warning.\n\nAccording to this, I find \
another symbol to denote the coordinate basis in a simple and easy-input way \
- using  \[CapitalDifferentialD]or CapitalDifferentialD[].\n\nI\
\[CloseCurlyQuote]ll restate how SpTm denote coordinate basis and dual \
coordinate basis with examples.\n\nAssuming that we already set the \
coordinate system {r, \[Theta], \[Phi]}, the coordinate basis will be:\n\n",
 Cell[BoxData[
  FormBox[
   RowBox[{
    SuperscriptBox[
     RowBox[{"(", 
      RowBox[{"\[CapitalDifferentialD]", "r"}], ")"}], "a"], ",", " ", 
    RowBox[{
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{"\[CapitalDifferentialD]", "\[Theta]"}], ")"}], "a"], " ", 
     "and", " ", 
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "a"]}]}], 
   TraditionalForm]],ExpressionUUID->"d76960f6-bfd7-4ffd-9cd7-a4bba42e760c"],
 ". "
}], "Text",
 CellChangeTimes->{{3.8864527635989704`*^9, 3.8864531946776843`*^9}, {
   3.886453243183522*^9, 3.8864532510271683`*^9}, {3.8864533341994457`*^9, 
   3.8864534368311925`*^9}, {3.8864534778004613`*^9, 
   3.8864535130813866`*^9}, {3.886453551428133*^9, 3.886453605598793*^9}, {
   3.8864536534400897`*^9, 3.886453686550798*^9}, {3.886453742814999*^9, 
   3.886453794236327*^9}, 3.886453829112645*^9, {3.886455699212783*^9, 
   3.8864557004263096`*^9}},ExpressionUUID->"eea6bca6-a2ae-459a-b46d-\
773cca0b6a02"],

Cell[BoxData[
 RowBox[{
  SuperscriptBox[
   RowBox[{"(", 
    RowBox[{"\[CapitalDifferentialD]", "r"}], ")"}], "a"], ";", " ", 
  SuperscriptBox[
   RowBox[{"(", 
    RowBox[{"\[CapitalDifferentialD]", "\[Theta]"}], ")"}], "a"], ";", " ", 
  SuperscriptBox[
   RowBox[{"(", 
    RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "a"], ";"}]], "Code",
 CellChangeTimes->{{3.8864538352215285`*^9, 3.886453866112973*^9}, 
   3.886454201649929*^9},ExpressionUUID->"fbf22c78-76f0-4a1f-80bd-\
60b63fc7cb0c"],

Cell[TextData[{
 "\nThe way to input \[CapitalDifferentialD] is to press \[EscapeKey]DD\
\[EscapeKey]. And input \[DifferentialD] is to press \[EscapeKey]dd\
\[EscapeKey]. \n\nThe dual coordinate basis will be:\n\n",
 Cell[BoxData[
  FormBox[
   RowBox[{
    SubscriptBox[
     RowBox[{"(", 
      RowBox[{"\[DifferentialD]", "r"}], ")"}], "a"], ",", " ", 
    SubscriptBox[
     RowBox[{"(", 
      RowBox[{"\[DifferentialD]", "\[Theta]"}], ")"}], "a"], ",", " ", 
    RowBox[{"and", " ", 
     SubscriptBox[
      RowBox[{"(", 
       RowBox[{"\[DifferentialD]", "\[Phi]"}], ")"}], "a"]}]}], 
   TraditionalForm]],ExpressionUUID->"f5e0ce3e-e1a9-41b3-821e-7bb0a7599343"]
}], "Text",
 CellChangeTimes->{{3.8864527635989704`*^9, 3.8864531946776843`*^9}, {
   3.886453243183522*^9, 3.8864532510271683`*^9}, {3.8864533341994457`*^9, 
   3.8864534368311925`*^9}, {3.8864534778004613`*^9, 
   3.8864535130813866`*^9}, {3.886453551428133*^9, 3.886453605598793*^9}, {
   3.8864536534400897`*^9, 3.886453686550798*^9}, {3.886453742814999*^9, 
   3.886453794236327*^9}, 3.8864538306649847`*^9, 3.8864538718596325`*^9, {
   3.8864558753950787`*^9, 
   3.8864558760053167`*^9}},ExpressionUUID->"cab85fa1-bc68-4388-b186-\
82c5ee5962ad"],

Cell[BoxData[
 RowBox[{
  SubscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "r"}], ")"}], "a"], ";", " ", 
  SubscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "\[Theta]"}], ")"}], "a"], ";", " ", 
  SubscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "\[Phi]"}], ")"}], "a"], ";"}]], "Code",
 CellChangeTimes->{{3.8864538753638124`*^9, 3.8864538956993704`*^9}, 
   3.8864542068487024`*^9},ExpressionUUID->"2730369a-2c9b-434d-89ca-\
74ebbb69d908"],

Cell["\<\
Once you set coordinate system, the coordinate basis and dual coordinate \
basis will be set automatically.\
\>", "Text",
 CellChangeTimes->{{3.8864527635989704`*^9, 3.8864531946776843`*^9}, {
   3.886453243183522*^9, 3.8864532510271683`*^9}, {3.8864533341994457`*^9, 
   3.8864534368311925`*^9}, {3.8864534778004613`*^9, 
   3.8864535130813866`*^9}, {3.886453551428133*^9, 3.886453605598793*^9}, {
   3.8864536534400897`*^9, 3.886453686550798*^9}, {3.886453742814999*^9, 
   3.886453794236327*^9}, 3.8864538306649847`*^9, {3.8864542083493643`*^9, 
   3.8864542517218485`*^9}},ExpressionUUID->"0d79c93d-dd11-4cbd-ac5a-\
31dc40729956"],

Cell[BoxData[
 RowBox[{"SetCoordinates", "[", 
  RowBox[{"{", 
   RowBox[{"r", ",", " ", "\[Theta]", ",", " ", "\[Phi]"}], "}"}], 
  "]"}]], "Code",
 CellChangeTimes->{{3.886454261519162*^9, 3.8864543054185424`*^9}, {
  3.8864548126866407`*^9, 3.8864548138798094`*^9}},
 CellLabel->"In[2]:=",ExpressionUUID->"f43e9ee7-208e-4ac5-ae9d-0c848bb0d340"],

Cell["You can use STensorInfo to get information of each tensor.", "Text",
 CellChangeTimes->{{3.886454310801011*^9, 
  3.886454340957241*^9}},ExpressionUUID->"06d54214-a668-4133-9e8b-\
c4c3d8ed8448"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"STensorInfo", "[", 
    SubscriptBox[
     RowBox[{"(", 
      RowBox[{"\[DifferentialD]", "r"}], ")"}], "a"], "]"}], ",", 
   RowBox[{"STensorInfo", "[", 
    SubscriptBox[
     RowBox[{"(", 
      RowBox[{"\[DifferentialD]", "\[Theta]"}], ")"}], "b"], "]"}], ",", 
   RowBox[{"STensorInfo", "[", 
    SuperscriptBox[
     RowBox[{"(", 
      RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "a"], "]"}]}], 
  "}"}]], "Code",
 CellChangeTimes->{{3.886454343565345*^9, 3.8864544025262756`*^9}},
 CellLabel->"In[5]:=",ExpressionUUID->"6da12bd1-a17b-4115-9980-ac40a73af59a"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox[
      RowBox[{"\[DifferentialD]", "r"}], "\[Alpha]"], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"1"}, {"0"}, {"0"}}, ColumnAlignments -> Center, 
          RowSpacings -> 1, ColumnAlignments -> Left], Column], "\[NoBreak]", 
        ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     SubscriptBox[
      RowBox[{"\[DifferentialD]", "\[Theta]"}], "\[Beta]"], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"0"}, {"1"}, {"0"}}, ColumnAlignments -> Center, 
          RowSpacings -> 1, ColumnAlignments -> Left], Column], "\[NoBreak]", 
        ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{
       RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], "\[Alpha]"}, 
      "Superscript", SyntaxForm -> SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"0"}, {"0"}, {"1"}}, ColumnAlignments -> Center, 
          RowSpacings -> 1, ColumnAlignments -> Left], Column], "\[NoBreak]", 
        ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{{3.8864543577218676`*^9, 3.88645436400583*^9}, 
   3.886454405011738*^9},
 CellLabel->"Out[5]=",ExpressionUUID->"519053b3-d401-4fde-982a-72fdc2540211"]
}, Open  ]],

Cell[TextData[{
 "There is one more thing important - ",
 Cell[BoxData[
  FormBox[
   RowBox[{
    SubscriptBox[
     RowBox[{"(", 
      RowBox[{"\[DifferentialD]", "x"}], ")"}], "a"], " ", "is", " ", 
    StyleBox["different",
     FontWeight->"Bold"], " ", "from", " ", 
    RowBox[{"\[DifferentialD]", 
     SubscriptBox["x", "a"]}], " ", "for", " ", 
    RowBox[{"input", "."}]}], TraditionalForm]],ExpressionUUID->
  "44cb0433-85da-4db6-a94c-af6027cd0509"],
 " You can use ",
 StyleBox["FullForm",
  FontWeight->"Bold"],
 " to check that:"
}], "Text",
 CellChangeTimes->{{3.886454412095498*^9, 3.8864544715739937`*^9}, {
  3.8864559732303534`*^9, 
  3.886455976934454*^9}},ExpressionUUID->"163d2426-b70b-456b-a4e8-\
bb29a738327a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"\[DifferentialD]", 
   SubscriptBox["x", "a"]}], "//", "FullForm"}]], "Code",
 CellChangeTimes->{{3.886454478293972*^9, 3.886454513508134*^9}, {
  3.886454745703595*^9, 3.8864547513765984`*^9}},
 CellLabel->"In[10]:=",ExpressionUUID->"cddf882c-8f54-4e8d-bd8d-7e5aeca0ecdf"],

Cell[BoxData[
 TagBox[
  StyleBox[
   RowBox[{"DifferentialD", "[", 
    RowBox[{"Subscript", "[", 
     RowBox[{"x", ",", "a"}], "]"}], "]"}],
   ShowSpecialCharacters->False,
   ShowStringCharacters->True,
   NumberMarks->True],
  FullForm]], "Output",
 CellChangeTimes->{{3.886454494550229*^9, 3.8864545141420283`*^9}, 
   3.886454751720688*^9},
 CellLabel->
  "Out[10]//FullForm=",ExpressionUUID->"9743ad00-d703-4fdb-a4c3-b19d8b4b1b80"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  SubscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "x"}], ")"}], "a"], "//", 
  "FullForm"}]], "Code",
 CellChangeTimes->{{3.886454523045596*^9, 3.886454531844965*^9}, {
  3.886454753106345*^9, 3.886454757811619*^9}},
 CellLabel->"In[11]:=",ExpressionUUID->"ca725c2e-44b5-4872-bed9-16dc40519c23"],

Cell[BoxData[
 TagBox[
  StyleBox[
   RowBox[{"Subscript", "[", 
    RowBox[{
     RowBox[{"DifferentialD", "[", "x", "]"}], ",", "a"}], "]"}],
   ShowSpecialCharacters->False,
   ShowStringCharacters->True,
   NumberMarks->True],
  FullForm]], "Output",
 CellChangeTimes->{3.886454533724828*^9, 3.8864547581543694`*^9},
 CellLabel->
  "Out[11]//FullForm=",ExpressionUUID->"336649a0-9512-4dd0-8a65-c2d2921b1b0b"]
}, Open  ]],

Cell["\<\
The heads of two expressions are different. But we regard \[DifferentialD]x \
as a vector and a is its index, so the second form is correct. Remember this. \
This is the same as \[CapitalDifferentialD]x. \
\>", "Text",
 CellChangeTimes->{{3.886454539729439*^9, 3.8864546096036034`*^9}, {
  3.886454764943221*^9, 
  3.8864547919242916`*^9}},ExpressionUUID->"9aac7e6d-97ba-4e5f-9d25-\
1d7735d25758"],

Cell[CellGroupData[{

Cell["Set Metric", "Subsubsection",
 CellChangeTimes->{{3.886454851442195*^9, 
  3.8864548531052904`*^9}},ExpressionUUID->"2414fd65-e60e-4e27-bec4-\
8488023c3ac1"],

Cell[TextData[{
 "Then, we can use ",
 StyleBox["SetMetric ",
  FontWeight->"Bold"],
 "to set the metric field on this manifold:"
}], "Text",
 CellChangeTimes->{{3.886454854333443*^9, 3.8864548625478363`*^9}, {
  3.8864549665009756`*^9, 
  3.8864550290851707`*^9}},ExpressionUUID->"00c2e145-affa-4a4d-94ca-\
2b0fbc93466c"],

Cell[BoxData[
 RowBox[{
  RowBox[{"SetMetric", "[", 
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{"1", ",", " ", 
      RowBox[{"r", "^", "2"}], ",", " ", 
      RowBox[{
       RowBox[{"r", "^", "2"}], " ", 
       RowBox[{
        RowBox[{"Sin", "[", "\[Theta]", "]"}], "^", "2"}]}]}], "}"}], "]"}], 
   "]"}], ";"}]], "Code",
 CellChangeTimes->{{3.886455030294011*^9, 3.8864550537491846`*^9}},
 CellLabel->"In[12]:=",ExpressionUUID->"1c534002-7815-4343-842d-5e64577f4cd4"],

Cell["\<\
If you have already set the coordinate system, you can use the command above. \
Or, you can set metric and coordinate system together as following:\
\>", "Text",
 CellChangeTimes->{{3.886455083638074*^9, 
  3.8864551322453976`*^9}},ExpressionUUID->"aaa19bf4-855f-4dd3-a50a-\
d1c14b24b9b8"],

Cell[BoxData[
 RowBox[{
  RowBox[{"SetMetric", "[", 
   RowBox[{
    RowBox[{"DiagonalMatrix", "[", 
     RowBox[{"{", 
      RowBox[{"1", ",", " ", 
       RowBox[{"r", "^", "2"}], ",", " ", 
       RowBox[{
        RowBox[{"r", "^", "2"}], " ", 
        RowBox[{
         RowBox[{"Sin", "[", "\[Theta]", "]"}], "^", "2"}]}]}], "}"}], "]"}], 
    ",", " ", 
    RowBox[{"{", 
     RowBox[{"r", ",", " ", "\[Theta]", ",", " ", "\[Phi]"}], "}"}]}], "]"}], 
  ";"}]], "Code",
 CellChangeTimes->{{3.886455056903407*^9, 3.8864550754924145`*^9}},
 CellLabel->"In[13]:=",ExpressionUUID->"e1609938-fdb7-4b75-8959-d3c9510a42fd"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Examples", "Section",
 CellChangeTimes->{{3.8864546823593817`*^9, 
  3.8864547090375257`*^9}},ExpressionUUID->"dc7a2a6e-8e5e-4057-8486-\
7d80d0d59c57"],

Cell["\<\
Next, I will use some examples with different metrics to introduce more \
functions:\
\>", "Text",
 CellChangeTimes->{{3.883509626754271*^9, 3.883509669627688*^9}, {
  3.8837102967097406`*^9, 3.8837103532900505`*^9}, {3.8864551977691927`*^9, 
  3.8864551983107033`*^9}},ExpressionUUID->"7cb567fb-7ba7-42fd-95b2-\
1dd8111b8df5"]
}, Open  ]],

Cell[CellGroupData[{

Cell["2-D Euclidean Metric", "Section",
 CellChangeTimes->{{3.8830044112686253`*^9, 3.883004464738123*^9}, {
  3.8832062339354715`*^9, 3.883206241154865*^9}, {3.883335497708171*^9, 
  3.8833355338775997`*^9}, {3.8837103589603205`*^9, 
  3.8837103591684647`*^9}},ExpressionUUID->"40a40f9a-2726-4091-a0ac-\
880d37a267f4"],

Cell[CellGroupData[{

Cell["Set Metric Components and Coordinate System", "Subsection",
 CellChangeTimes->{{3.8832099782795753`*^9, 3.883209996116438*^9}, {
  3.883264958713993*^9, 3.883264961216628*^9}, {3.883509690365614*^9, 
  3.883509691544561*^9}, {3.8837103619709697`*^9, 
  3.8837103776612787`*^9}},ExpressionUUID->"2b50e99e-85a6-4d22-b558-\
82889407af93"],

Cell[BoxData[
 RowBox[{"SetMetric", "[", 
  RowBox[{
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{"1", ",", "1"}], "}"}], "]"}], ",", 
   RowBox[{"{", 
    RowBox[{"x", ",", "y"}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8830044666321135`*^9, 3.883004491749297*^9}, 
   3.883265015075651*^9, {3.883265063636698*^9, 3.883265067889442*^9}, {
   3.8864564133320017`*^9, 3.886456414056759*^9}},
 CellLabel->
  "In[145]:=",ExpressionUUID->"4c0176ed-f12a-4141-8286-863b36329f2d"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Set Tensor Components", "Subsection",
 CellChangeTimes->{{3.883209982935665*^9, 3.8832100007822266`*^9}, {
  3.883710380860257*^9, 
  3.883710385980732*^9}},ExpressionUUID->"4cabbc8c-8cf0-4809-8c62-\
41870e3662d4"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"SetTensor", "[", 
    RowBox[{
     SuperscriptBox["v", "a"], ",", 
     RowBox[{"{", 
      RowBox[{"1", ",", "0"}], "}"}]}], "]"}], ";"}], 
  RowBox[{"(*", 
   RowBox[{
   "the", " ", "indices", " ", "letters", " ", "are", " ", "not", " ", 
    "important"}], "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"SetTensor", "[", 
    RowBox[{
     RowBox[{"STensor", "[", 
      RowBox[{"w", ",", 
       RowBox[{"{", "a", "}"}], ",", 
       RowBox[{"{", "}"}]}], "]"}], ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}]}], "]"}], ";"}], 
  RowBox[{"(*", 
   RowBox[{"in", " ", "form", " ", "of", " ", "STensor"}], 
   "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["u", "a"], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"-", "y"}], ",", "x"}], "}"}]}], "]"}], ";"}]}], "Input",
 CellChangeTimes->{{3.8830060412636366`*^9, 3.8830060818908296`*^9}, {
  3.883210017403228*^9, 3.883210051076173*^9}, {3.8837103972609587`*^9, 
  3.8837104343806553`*^9}, {3.8849864525069456`*^9, 3.884986464590151*^9}, {
  3.8864576803992605`*^9, 3.886457680970812*^9}},
 CellLabel->
  "In[146]:=",ExpressionUUID->"2511865f-9a73-48c9-9738-1ae4b269a7b4"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STensorInfo", "/@", 
  RowBox[{"{", 
   RowBox[{"v", ",", "w", ",", "u", ",", "g"}], "}"}], 
  RowBox[{"(*", 
   RowBox[{
   "get", " ", "the", " ", "components", " ", "information", " ", "of", " ", 
    "tensors"}], "*)"}]}]], "Input",
 CellChangeTimes->{{3.8830060999550877`*^9, 3.8830061178009577`*^9}, {
  3.883006295022601*^9, 3.8830062952111187`*^9}, {3.883210055042825*^9, 
  3.8832100647077837`*^9}, {3.8837104421610413`*^9, 3.8837104546197968`*^9}},
 CellLabel->
  "In[149]:=",ExpressionUUID->"14010031-63e0-427a-9e55-13efb47242f9"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"v", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          
          GridBox[{{"1"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
           1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    TemplateBox[{
      SubscriptBox["w", 
       TemplateBox[{"\[Alpha]"}, "RowDefault"]], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          
          GridBox[{{"0"}, {"1"}}, ColumnAlignments -> Center, RowSpacings -> 
           1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"u", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          GridBox[{{
             RowBox[{"-", "y"}]}, {"x"}}, RowSpacings -> 1, ColumnAlignments -> 
           Center, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     TemplateBox[{
       SubscriptBox["g", 
        TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
       TagBox[
        RowBox[{"(", "\[NoBreak]", 
          
          GridBox[{{"1", "0"}, {"0", "1"}}, RowSpacings -> 1, ColumnSpacings -> 
           1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
          "\[NoBreak]", ")"}], 
        Function[BoxForm`e$, 
         MatrixForm[BoxForm`e$]]]},
      "RowDefault"], ",", 
     TemplateBox[{
       TemplateBox[{"g", 
         TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]}, "Superscript", 
        SyntaxForm -> SuperscriptBox], "\"=\"", 
       TagBox[
        RowBox[{"(", "\[NoBreak]", 
          
          GridBox[{{"1", "0"}, {"0", "1"}}, RowSpacings -> 1, ColumnSpacings -> 
           1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
          "\[NoBreak]", ")"}], 
        Function[BoxForm`e$, 
         MatrixForm[BoxForm`e$]]]},
      "RowDefault"]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{
  3.883006142363324*^9, {3.8830062956888433`*^9, 3.883006310530299*^9}, 
   3.8831213376166472`*^9, 3.88645624913173*^9, {3.8864563180462112`*^9, 
   3.8864563206924405`*^9}, 3.886457682323546*^9, 3.886457928679744*^9, 
   3.886458762177662*^9, {3.8864588836946497`*^9, 3.88645892029158*^9}, 
   3.886459060709445*^9, 3.8921871012454596`*^9, 3.8921874447985473`*^9, 
   3.8921875143278856`*^9, 3.8921877550161676`*^9, 3.892189436982313*^9, 
   3.8921903663473177`*^9, 3.8921905027794356`*^9, 3.8921906032388687`*^9, 
   3.8921909184469995`*^9},
 CellLabel->
  "Out[149]=",ExpressionUUID->"d52353ce-8d5e-46d4-8325-de9d4c902104"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Coordinates Transformation", "Subsection",
 CellChangeTimes->{{3.883210071607215*^9, 3.8832100812606006`*^9}, {
  3.883710456860614*^9, 
  3.883710465360183*^9}},ExpressionUUID->"ab0ae260-0d80-454a-87d8-\
99a522f87f1c"],

Cell[BoxData[
 RowBox[{"SCoordinatesTransform", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"r", ",", "\[Theta]"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"x", "->", 
      RowBox[{"r", " ", 
       RowBox[{"Cos", "[", "\[Theta]", "]"}]}]}], ",", 
     RowBox[{"y", "->", 
      RowBox[{"r", " ", 
       RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}]}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8864590721741486`*^9, 3.8864590862030134`*^9}},
 CellLabel->
  "In[150]:=",ExpressionUUID->"1c324e98-b3e1-42ea-b300-5d51577358d0"],

Cell["\<\
The second argument is the rule list of current coordinates to the target \
coordinates.\
\>", "Text",
 CellChangeTimes->{{3.883210092170792*^9, 3.883210133853902*^9}, {
  3.883710471720384*^9, 
  3.8837105323000784`*^9}},ExpressionUUID->"122d86ab-77c7-47b7-aad5-\
a16e8a8534cf"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STensorInfo", "/@", 
  RowBox[{"{", 
   RowBox[{"v", ",", "w", ",", "u", ",", "g"}], "}"}]}]], "Input",
 CellChangeTimes->{{3.8830061619954205`*^9, 3.883006167969554*^9}, {
  3.883006299720595*^9, 3.8830062999309063`*^9}},
 CellLabel->
  "In[151]:=",ExpressionUUID->"2c421eef-05f4-4eae-b215-fef9975e173d"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"v", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          GridBox[{{
             RowBox[{"Cos", "[", "\[Theta]", "]"}]}, {
             RowBox[{"-", 
               FractionBox[
                RowBox[{"Sin", "[", "\[Theta]", "]"}], "r"]}]}}, RowSpacings -> 
           1, ColumnAlignments -> Center, ColumnAlignments -> Left], Column], 
         "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    TemplateBox[{
      SubscriptBox["w", 
       TemplateBox[{"\[Alpha]"}, "RowDefault"]], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          GridBox[{{
             RowBox[{"Sin", "[", "\[Theta]", "]"}]}, {
             RowBox[{"r", " ", 
               RowBox[{"Cos", "[", "\[Theta]", "]"}]}]}}, RowSpacings -> 1, 
           ColumnAlignments -> Center, ColumnAlignments -> Left], Column], 
         "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"u", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          
          GridBox[{{"0"}, {"1"}}, ColumnAlignments -> Center, RowSpacings -> 
           1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     TemplateBox[{
       SubscriptBox["g", 
        TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
       TagBox[
        RowBox[{"(", "\[NoBreak]", 
          GridBox[{{"1", "0"}, {"0", 
             SuperscriptBox["r", "2"]}}, RowSpacings -> 1, ColumnSpacings -> 
           1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
          "\[NoBreak]", ")"}], 
        Function[BoxForm`e$, 
         MatrixForm[BoxForm`e$]]]},
      "RowDefault"], ",", 
     TemplateBox[{
       TemplateBox[{"g", 
         TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]}, "Superscript", 
        SyntaxForm -> SuperscriptBox], "\"=\"", 
       TagBox[
        RowBox[{"(", "\[NoBreak]", 
          GridBox[{{"1", "0"}, {"0", 
             FractionBox["1", 
              SuperscriptBox["r", "2"]]}}, RowSpacings -> 1, ColumnSpacings -> 
           1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
          "\[NoBreak]", ")"}], 
        Function[BoxForm`e$, 
         MatrixForm[BoxForm`e$]]]},
      "RowDefault"]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{
  3.8830061831133213`*^9, {3.883006300405592*^9, 3.8830063138902507`*^9}, {
   3.8864576737198133`*^9, 3.886457688202838*^9}, 3.8864580109617205`*^9, 
   3.8864587694008684`*^9, {3.886458872219221*^9, 3.886458886106491*^9}, 
   3.886459095776272*^9, 3.8921871042313747`*^9, 3.8921874471656694`*^9, 
   3.8921875170917225`*^9, 3.8921877577036605`*^9, 3.8921894396296587`*^9, 
   3.8921903689332094`*^9, 3.8921905053869696`*^9, 3.8921906090591936`*^9, 
   3.892190925994982*^9},
 CellLabel->
  "Out[151]=",ExpressionUUID->"c4ac0052-bdc1-451c-ae6b-80a475cba71e"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Verify the Commutation of Coordinate Bases", "Subsection",
 CellChangeTimes->{{3.884069416480444*^9, 3.8840694339905243`*^9}, {
  3.884070277934682*^9, 
  3.884070280294527*^9}},ExpressionUUID->"a603df65-9cdb-4b25-8302-\
d44545f8641d"],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"SetTensor", "[", 
     RowBox[{
      SuperscriptBox["u", "a"], ",", 
      RowBox[{"{", 
       RowBox[{"1", ",", "0"}], "}"}]}], "]"}], ";"}], "*)"}], 
  "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{"SetTensor", "[", 
     RowBox[{
      SuperscriptBox["v", "a"], ",", 
      RowBox[{"{", 
       RowBox[{"1", ",", "0"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"SetTensor", "[", 
     RowBox[{
      SuperscriptBox["w", "a"], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", 
        RowBox[{"1", "/", "r"}]}], "}"}]}], "]"}], ";"}], 
   RowBox[{"(*", 
    RowBox[{"Orthonormal", " ", "but", " ", "not", " ", "commute"}], 
    "*)"}]}]}]], "Input",
 CellChangeTimes->{{3.884069381570082*^9, 3.8840694094077044`*^9}, {
  3.884069439966715*^9, 3.8840694879448233`*^9}, {3.8840700481767735`*^9, 
  3.8840700495907974`*^9}, {3.884070216450048*^9, 3.8840702324558544`*^9}, {
  3.884070287125271*^9, 3.8840702946454887`*^9}, {3.8840703371139145`*^9, 
  3.884070339065573*^9}, {3.8852660308238516`*^9, 3.885266031020104*^9}},
 CellLabel->
  "In[152]:=",ExpressionUUID->"e8d49bce-213d-4311-b9f2-d94632c2ad01"],

Cell["\<\
{u,v} is a set of coordinate bases\:ff0c{w,v} are a set of orthonormal bases\
\>", "Text",
 CellChangeTimes->{{3.8840694924473314`*^9, 3.8840695222802887`*^9}, {
  3.8840700540751*^9, 3.884070055685357*^9}, {3.8840703421134005`*^9, 
  3.8840703871136904`*^9}},ExpressionUUID->"cdf5f2a4-55e7-4904-bd95-\
8bc7ccf68dee"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Print", "@", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"STCalcComponents", "[", 
     RowBox[{
      RowBox[{
       SuperscriptBox["u", "b"], 
       RowBox[{
        SubscriptBox["\[Del]", "b"], 
        SuperscriptBox["v", "a"]}]}], "-", 
      RowBox[{
       SuperscriptBox["v", "b"], 
       RowBox[{
        SubscriptBox["\[Del]", "b"], 
        SuperscriptBox["u", "a"]}]}]}], "]"}], ",", 
    RowBox[{"STCalcComponents", "[", 
     RowBox[{
      RowBox[{
       SuperscriptBox["w", "b"], 
       RowBox[{
        SubscriptBox["\[Del]", "b"], 
        SuperscriptBox["v", "a"]}]}], "-", 
      RowBox[{
       SuperscriptBox["v", "b"], 
       RowBox[{
        SubscriptBox["\[Del]", "b"], 
        SuperscriptBox["w", "a"]}]}]}], "]"}]}], "}"}]}]], "Input",
 CellChangeTimes->{{3.884069532885516*^9, 3.88406957795773*^9}, {
  3.8840697668182683`*^9, 3.884069864486471*^9}, {3.884070086466875*^9, 
  3.88407013835688*^9}, {3.892186965813384*^9, 3.892186974729048*^9}},
 CellLabel->
  "In[154]:=",ExpressionUUID->"0652c386-fba0-4254-94b0-aa3521e8bfc4"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     TemplateBox[{"\[ScriptCapitalT]", 
       TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
      SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 1,
           ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{"\[ScriptCapitalT]", 
       TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
      SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"0"}, {
            FractionBox["1", 
             SuperscriptBox["r", "2"]]}}, RowSpacings -> 1, ColumnAlignments -> 
          Center, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Print",
 CellChangeTimes->{3.884070138730392*^9, 3.8864588992128935`*^9, 
  3.8864591321497145`*^9, 3.8921871078440256`*^9, 3.8921874501499543`*^9, 
  3.892187519878996*^9, 3.8921877604176707`*^9, 3.8921894427495737`*^9, 
  3.892190372010928*^9, 3.8921905081913905`*^9, 3.8921906163272047`*^9, 
  3.8921909286412992`*^9},
 CellLabel->
  "\:6b63\:5728\:8ba1\:7b97In[154]:=",ExpressionUUID->"2dd2044c-482b-4c6f-\
b320-d607f07cd509"]
}, Open  ]],

Cell["\<\
Calculate the norm of every vector, verify the {w,v} are normal vectors.\
\>", "Text",
 CellChangeTimes->{{3.884069641525875*^9, 3.8840696769002485`*^9}, {
  3.884070378065851*^9, 3.884070418273572*^9}, {3.884986579408639*^9, 
  3.884986584084773*^9}},ExpressionUUID->"b0e60003-a71d-4f34-b648-\
aeaeb080c31d"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"STCalcComponents", "[", 
    RowBox[{
     SubscriptBox["g", "ab"], 
     SuperscriptBox["#", "a"], 
     SuperscriptBox["#", "b"]}], "]"}], "&"}], "/@", 
  RowBox[{"{", 
   RowBox[{"v", ",", "u", ",", "w"}], "}"}]}]], "Input",
 CellChangeTimes->{{3.884070150785203*^9, 3.8840701523542643`*^9}, 
   3.8921868911991115`*^9, {3.8921871572613797`*^9, 3.892187158771834*^9}, {
   3.892190385505023*^9, 3.8921904128563757`*^9}},
 CellLabel->
  "In[155]:=",ExpressionUUID->"f85abe27-0941-4bc1-9b97-d8a423cec989"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{"\[ScriptCapitalT]", "\"=\"", 
     TagBox["1", 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{"\[ScriptCapitalT]", "\"=\"", 
     TagBox[
      SuperscriptBox["r", "2"], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{"\[ScriptCapitalT]", "\"=\"", 
     TagBox["1", 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{
  3.8840700003227177`*^9, {3.8840701451537743`*^9, 3.8840701525921893`*^9}, 
   3.886459134866133*^9, 3.892187109463166*^9, 3.8921871591336327`*^9, 
   3.8921874526178703`*^9, 3.8921875266514297`*^9, 3.8921875765973454`*^9, {
   3.892187748007539*^9, 3.8921877636585183`*^9}, 3.892189444022416*^9, {
   3.892190405425906*^9, 3.8921904132735877`*^9}, 3.89219050942216*^9, 
   3.8921905891257863`*^9, 3.892190629403784*^9, 3.892190929990348*^9},
 CellLabel->
  "Out[155]=",ExpressionUUID->"ec893482-9895-4161-90b4-a037731a3463"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["2-D Cylinder Metric", "Section",
 CellChangeTimes->{{3.8820859554415746`*^9, 3.8820859641985097`*^9}, {
  3.8820861584578657`*^9, 3.8820861630766687`*^9}, {3.8837105354492536`*^9, 
  3.883710540589693*^9}},ExpressionUUID->"d4154b68-bc71-48f8-98b3-\
52564578e858"],

Cell[BoxData[
 RowBox[{"SetMetric", "[", 
  RowBox[{
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{"1", ",", 
      SuperscriptBox["R", "2"]}], "}"}], "]"}], ",", " ", 
   RowBox[{"{", 
    RowBox[{"z", ",", " ", "\[Phi]"}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8820859758025384`*^9, 3.882086016848547*^9}},
 CellLabel->"In[31]:=",ExpressionUUID->"c4133df8-0af8-421e-a348-24c5b321f2ec"],

Cell[CellGroupData[{

Cell["Transform the Abstract Expression into Specific Expression", \
"Subsection",
 CellChangeTimes->{{3.8832101492043486`*^9, 3.8832101629957633`*^9}, {
  3.8837105478811803`*^9, 
  3.8837105835102673`*^9}},ExpressionUUID->"f48d10e0-4b28-4dea-bc53-\
644381045d09"],

Cell["\<\
Here we calculate the geodesics on the cylinder, which are circumference and \
bus bar.\
\>", "Text",
 CellChangeTimes->{{3.88321016792505*^9, 3.8832102266822567`*^9}, {
  3.8837105879492583`*^9, 
  3.883710638970335*^9}},ExpressionUUID->"43d726b8-cf6e-4fc1-b1de-\
e3d59c88603e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"STCalcComponents", "[", "#", "]"}], "&"}], "/@", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{"\[CapitalDifferentialD]", "z"}], ")"}], "a"], 
     RowBox[{
      SubscriptBox["\[Del]", "a"], 
      SuperscriptBox[
       RowBox[{"(", 
        RowBox[{"\[CapitalDifferentialD]", "z"}], ")"}], "b"]}]}], ",", 
    RowBox[{
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "a"], 
     RowBox[{
      SubscriptBox["\[Del]", "a"], 
      SuperscriptBox[
       RowBox[{"(", 
        RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "b"]}]}]}], 
   "}"}]}]], "Input",
 CellChangeTimes->{{3.8820899925966244`*^9, 3.882090008702795*^9}, {
   3.882090109770848*^9, 3.8820901470924053`*^9}, 3.886469327467442*^9, 
   3.892186891203124*^9},
 CellLabel->"In[32]:=",ExpressionUUID->"4d1797ac-c62e-40c9-9802-b4f0ddcb0472"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     TemplateBox[{"\[ScriptCapitalT]", 
       TemplateBox[{"\[Beta]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
      SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 1,
           ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{"\[ScriptCapitalT]", 
       TemplateBox[{"\[Beta]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
      SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        TagBox[
         GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 1,
           ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{{3.882090065404399*^9, 3.8820900733102174`*^9}, {
   3.882090133194539*^9, 3.882090147561858*^9}, 3.882216831927069*^9, 
   3.882216874567032*^9, 3.882243919822688*^9, 3.883604592389883*^9, 
   3.886459141692831*^9, 3.8864693315133176`*^9, 3.8921877702066417`*^9, 
   3.8921894467731304`*^9},
 CellLabel->"Out[32]=",ExpressionUUID->"27fa37be-f085-4960-8a11-91c1380b7d0f"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Calculate the Christoffel Symbol in Current Coordinate System\
\>", "Subsection",
 CellChangeTimes->{{3.8832102707368574`*^9, 3.883210298010242*^9}, {
  3.8837106429290404`*^9, 
  3.8837106591506042`*^9}},ExpressionUUID->"421a18a8-82a6-4f35-8bef-\
1c0be906e88d"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.8820860213216224`*^9, 3.8820860279379683`*^9}},
 CellLabel->"In[33]:=",ExpressionUUID->"2a63c7ca-d4c1-4aff-a53f-fbf8ac19c65c"],

Cell[BoxData[
 TemplateBox[{
   TemplateBox[{
     SubscriptBox["\"\[CapitalGamma]\"", 
      TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], 
     TemplateBox[{"\"\[Sigma]\""}, "RowDefault"]}, "Superscript", SyntaxForm -> 
    SuperscriptBox], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            
            GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
             1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            
            GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
             1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            
            GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
             1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            
            GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
             1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}}, 
       RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
       ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{3.8820860372026944`*^9, 3.8836045937770777`*^9, 
  3.8864591433854775`*^9, 3.8921877716256514`*^9, 3.8921894479348264`*^9},
 CellLabel->"Out[33]=",ExpressionUUID->"b0e2e8f4-ccad-4ace-9443-02a18ebc75ee"]
}, Open  ]],

Cell["\<\
So Riemann Tensor, Ricci Tensor, Ricci Scalar all vanish. The intrinsic \
curvature is null but the extrinsic curvature exists.\
\>", "Text",
 CellChangeTimes->{{3.882086038710498*^9, 3.882086151276141*^9}, {
  3.883177094215783*^9, 3.883177115744501*^9}, {3.883177243714777*^9, 
  3.883177267116413*^9}, {3.8831773519254785`*^9, 3.883177411555395*^9}, {
  3.883209598791295*^9, 3.8832096285874257`*^9}, {3.8837106624409084`*^9, 
  3.883710666100504*^9}},ExpressionUUID->"b3c04a52-daba-496d-8578-\
4903145f95ea"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calculate the Expression of the Line Element", "Subsection",
 CellChangeTimes->{{3.8832096638179016`*^9, 3.8832096656281843`*^9}, {
  3.8837106675705976`*^9, 
  3.88371068586969*^9}},ExpressionUUID->"b3b6393a-c496-4840-b730-\
5ab9cd6d222f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"SLineElement", "[", "]"}]], "Input",
 CellChangeTimes->{{3.882243948263255*^9, 3.882243958421509*^9}, {
  3.8864591488193164`*^9, 3.886459150819577*^9}},
 CellLabel->"In[34]:=",ExpressionUUID->"f9cdd3b4-f170-4396-bb74-7863fae18cf6"],

Cell[BoxData[
 RowBox[{
  SuperscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "z"}], ")"}], "2"], "+", 
  RowBox[{
   SuperscriptBox["R", "2"], " ", 
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "\[Phi]"}], ")"}], "2"]}]}]], "Output",
 CellChangeTimes->{3.882243963677952*^9, 3.882778237364611*^9, 
  3.8836045975738344`*^9, 3.8864591516807003`*^9, 3.892187773493533*^9, 
  3.892189449475713*^9},
 CellLabel->"Out[34]=",ExpressionUUID->"636ac98e-1edf-49e2-8da5-137d3b94d52c"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Calculate the Expression of Volume Element with Coordinates Conditions\
\>", "Subsection",
 CellChangeTimes->{{3.8832096459876504`*^9, 3.883209653776602*^9}, {
  3.8832103089992447`*^9, 3.8832103160697513`*^9}, {3.88371068880033*^9, 
  3.88371071504021*^9}},ExpressionUUID->"5975062f-3d29-49e2-90f7-\
7bf2613ad867"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Refine", "[", 
  RowBox[{
   RowBox[{"SVolumeElement", "[", "]"}], ",", 
   RowBox[{"R", ">=", "0"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8827782393912396`*^9, 3.8827782795388613`*^9}, 
   3.8832096579196234`*^9, {3.886459154562604*^9, 3.886459157063362*^9}},
 CellLabel->"In[35]:=",ExpressionUUID->"e0384c47-0e93-443a-be6a-8b8daf48eb8d"],

Cell[BoxData[
 RowBox[{"R", " ", 
  RowBox[{
   SubscriptBox[
    RowBox[{"\[DifferentialD]", "z"}], "a"], "\[Wedge]", 
   SubscriptBox[
    RowBox[{"\[DifferentialD]", "\[Phi]"}], "b"]}]}]], "Output",
 CellChangeTimes->{{3.8827782534882746`*^9, 3.8827782801680965`*^9}, {
   3.882778459467145*^9, 3.882778463835163*^9}, 3.88360459884634*^9, 
   3.8864591584582715`*^9, 3.892187775375354*^9, 3.892189731609643*^9},
 CellLabel->"Out[35]=",ExpressionUUID->"170b5c1f-d5c9-4182-a9ff-6afa90bd374c"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 " 2-D Sphere (",
 Cell[BoxData[
  FormBox[
   SuperscriptBox["S", "2"], TraditionalForm]],ExpressionUUID->
  "cb860083-3a70-439d-b2d6-4e6c82c736d4"],
 " ) Metric"
}], "Section",
 CellChangeTimes->{{3.882086166178772*^9, 3.8820862065635595`*^9}, {
  3.883264954561884*^9, 3.88326495667353*^9}, {3.8837107199889083`*^9, 
  3.883710735340451*^9}},ExpressionUUID->"13a82c57-1311-4633-908c-\
e568dcaa7d2c"],

Cell[BoxData[
 RowBox[{"SetMetric", "[", 
  RowBox[{
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       SuperscriptBox["R", "2"], 
       SuperscriptBox[
        RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], ",", 
      SuperscriptBox["R", "2"]}], "}"}], "]"}], ",", 
   RowBox[{"{", 
    RowBox[{"\[Phi]", ",", " ", "\[Theta]"}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8819773837058754`*^9, 3.8819773923968325`*^9}, {
  3.881988330154621*^9, 3.881988353508728*^9}, {3.8819948453290796`*^9, 
  3.8819948525921936`*^9}, {3.8820769944238267`*^9, 3.882077020632283*^9}, {
  3.882077129882243*^9, 3.882077146132949*^9}, {3.882077251763857*^9, 
  3.8820773139374924`*^9}, {3.8820773545117064`*^9, 3.8820774169766006`*^9}},
 CellLabel->
  "In[158]:=",ExpressionUUID->"4199665b-5dd7-4639-b6fc-dc08267433f9"],

Cell[CellGroupData[{

Cell["Calculate the Christoffel Symbol and Set as a Tensor", "Subsection",
 CellChangeTimes->{{3.8822443058984227`*^9, 3.8822443149750185`*^9}, {
  3.8837107394194403`*^9, 
  3.8837107580505295`*^9}},ExpressionUUID->"d2030c6f-88f4-4267-8edb-\
2f8df55ee317"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.881994908030297*^9, 3.881994919785594*^9}, {
  3.8822440051404715`*^9, 3.8822440275500097`*^9}},
 CellLabel->"In[37]:=",ExpressionUUID->"95888753-d087-4b5a-a048-793318a85902"],

Cell[BoxData[
 TemplateBox[{
   TemplateBox[{
     SubscriptBox["\"\[CapitalGamma]\"", 
      TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], 
     TemplateBox[{"\"\[Sigma]\""}, "RowDefault"]}, "Superscript", SyntaxForm -> 
    SuperscriptBox], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            GridBox[{{"0"}, {
               RowBox[{
                 RowBox[{"-", 
                   RowBox[{"Cos", "[", "\[Theta]", "]"}]}], " ", 
                 RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}}, RowSpacings -> 1, 
             ColumnAlignments -> Center, ColumnAlignments -> Left], Column], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            GridBox[{{
               RowBox[{"Cot", "[", "\[Theta]", "]"}]}, {"0"}}, RowSpacings -> 
             1, ColumnAlignments -> Center, ColumnAlignments -> Left], 
            Column], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            GridBox[{{
               RowBox[{"Cot", "[", "\[Theta]", "]"}]}, {"0"}}, RowSpacings -> 
             1, ColumnAlignments -> Center, ColumnAlignments -> Left], 
            Column], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           TagBox[
            
            GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
             1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}}, 
       RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
       ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{
  3.882244028144251*^9, 3.882244114168403*^9, {3.8832002826252785`*^9, 
   3.8832002917976527`*^9}, 3.8864591737762604`*^9, 3.892187778698625*^9, 
   3.892187964077335*^9, 3.8921888848806314`*^9, {3.892188918644902*^9, 
   3.892188940325311*^9}, 3.892189734166315*^9},
 CellLabel->"Out[37]=",ExpressionUUID->"5a8c4b36-b9f5-4f19-9d54-fcc577ac9cd9"]
}, Open  ]],

Cell[BoxData[
 RowBox[{"SetTensor", "[", 
  RowBox[{
   RowBox[{"STensor", "[", 
    RowBox[{"\[CapitalGamma]", ",", 
     RowBox[{"{", 
      RowBox[{"a", ",", "b"}], "}"}], ",", 
     RowBox[{"{", "c", "}"}]}], "]"}], ",", " ", 
   RowBox[{
    RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}], "[", 
    RowBox[{"[", 
     RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8822440347526436`*^9, 3.882244089128203*^9}},
 CellLabel->
  "In[159]:=",ExpressionUUID->"b3137b32-979d-47ff-ba33-a75712a4354c"],

Cell[TextData[{
 "For the result shown above, we can use ",
 StyleBox["FullForm",
  FontWeight->"Bold"],
 " to see the full structure of the expression:"
}], "Text",
 CellChangeTimes->{{3.885262019980219*^9, 3.885262102634734*^9}, {
  3.8852621775329924`*^9, 
  3.8852621943940763`*^9}},ExpressionUUID->"708366c7-b7ba-4849-847b-\
6f90004d3a09"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}], "//", 
  "FullForm"}]], "Input",
 CellChangeTimes->{{3.8852622000265217`*^9, 3.885262201726141*^9}},
 CellLabel->"In[39]:=",ExpressionUUID->"4a480b78-6fa9-4b21-8d47-5513fa0379c1"],

Cell[BoxData[
 TagBox[
  StyleBox[
   RowBox[{"Row", "[", 
    RowBox[{"List", "[", 
     RowBox[{
      RowBox[{"Superscript", "[", 
       RowBox[{
        RowBox[{"Subscript", "[", 
         RowBox[{"\"\<\\[CapitalGamma]\>\"", ",", 
          RowBox[{"Row", "[", 
           RowBox[{"List", "[", 
            RowBox[{"\"\<\\[Mu]\>\"", ",", "\"\<\\[Nu]\>\""}], "]"}], "]"}]}],
          "]"}], ",", 
        RowBox[{"Row", "[", 
         RowBox[{"List", "[", "\"\<\\[Sigma]\>\"", "]"}], "]"}]}], "]"}], 
      ",", "\"\<=\>\"", ",", 
      RowBox[{"MatrixForm", "[", 
       RowBox[{"List", "[", 
        RowBox[{
         RowBox[{"List", "[", 
          RowBox[{
           RowBox[{"List", "[", 
            RowBox[{"0", ",", 
             RowBox[{"Times", "[", 
              RowBox[{
               RowBox[{"-", "1"}], ",", 
               RowBox[{"Cos", "[", "\\[Theta]", "]"}], ",", 
               RowBox[{"Sin", "[", "\\[Theta]", "]"}]}], "]"}]}], "]"}], ",", 
           RowBox[{"List", "[", 
            RowBox[{
             RowBox[{"Cot", "[", "\\[Theta]", "]"}], ",", "0"}], "]"}]}], 
          "]"}], ",", 
         RowBox[{"List", "[", 
          RowBox[{
           RowBox[{"List", "[", 
            RowBox[{
             RowBox[{"Cot", "[", "\\[Theta]", "]"}], ",", "0"}], "]"}], ",", 
           RowBox[{"List", "[", 
            RowBox[{"0", ",", "0"}], "]"}]}], "]"}]}], "]"}], "]"}]}], "]"}], 
    "]"}],
   ShowSpecialCharacters->False,
   ShowStringCharacters->True,
   NumberMarks->True],
  FullForm]], "Output",
 CellChangeTimes->{3.885262206918371*^9, 3.886459179511348*^9, 
  3.892187782089425*^9, 3.892187966668009*^9, 3.8921897368997207`*^9},
 CellLabel->
  "Out[39]//FullForm=",ExpressionUUID->"71e43f8e-831e-4e30-a9e1-e7c71c131a9c"]
}, Open  ]],

Cell[TextData[{
 "The result is a ",
 StyleBox["Row",
  FontWeight->"Bold"],
 ". We can use [[1]] to get every parts:"
}], "Text",
 CellChangeTimes->{{3.885262211976862*^9, 
  3.8852623074789515`*^9}},ExpressionUUID->"eaa7e30b-4c69-44ce-adb5-\
f94ae73e8be7"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}], "[", 
  RowBox[{"[", "1", "]"}], "]"}]], "Input",
 CellLabel->"In[40]:=",ExpressionUUID->"05d79fd6-e8af-4495-9b3c-4db00fe9319f"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox["\"\[CapitalGamma]\"", 
      TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], 
     TemplateBox[{"\"\[Sigma]\""}, "RowDefault"]},
    "Superscript"], ",", "\<\"=\"\>", ",", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", GridBox[{
       {
        RowBox[{"(", "\[NoBreak]", 
         TagBox[GridBox[{
            {"0"},
            {
             RowBox[{
              RowBox[{"-", 
               RowBox[{"Cos", "[", "\[Theta]", "]"}]}], " ", 
              RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}
           },
           GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
           GridBoxSpacings->{"Columns" -> {
               Offset[0.27999999999999997`], {
                Offset[0.5599999999999999]}, 
               Offset[0.27999999999999997`]}, "Rows" -> {
               Offset[0.2], {
                Offset[0.4]}, 
               Offset[0.2]}}],
          Column], "\[NoBreak]", ")"}], 
        RowBox[{"(", "\[NoBreak]", 
         TagBox[GridBox[{
            {
             RowBox[{"Cot", "[", "\[Theta]", "]"}]},
            {"0"}
           },
           GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
           GridBoxSpacings->{"Columns" -> {
               Offset[0.27999999999999997`], {
                Offset[0.5599999999999999]}, 
               Offset[0.27999999999999997`]}, "Rows" -> {
               Offset[0.2], {
                Offset[0.4]}, 
               Offset[0.2]}}],
          Column], "\[NoBreak]", ")"}]},
       {
        RowBox[{"(", "\[NoBreak]", 
         TagBox[GridBox[{
            {
             RowBox[{"Cot", "[", "\[Theta]", "]"}]},
            {"0"}
           },
           GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
           GridBoxSpacings->{"Columns" -> {
               Offset[0.27999999999999997`], {
                Offset[0.5599999999999999]}, 
               Offset[0.27999999999999997`]}, "Rows" -> {
               Offset[0.2], {
                Offset[0.4]}, 
               Offset[0.2]}}],
          Column], "\[NoBreak]", ")"}], 
        RowBox[{"(", "\[NoBreak]", 
         TagBox[GridBox[{
            {"0"},
            {"0"}
           },
           GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
           GridBoxSpacings->{"Columns" -> {
               Offset[0.27999999999999997`], {
                Offset[0.5599999999999999]}, 
               Offset[0.27999999999999997`]}, "Rows" -> {
               Offset[0.2], {
                Offset[0.4]}, 
               Offset[0.2]}}],
          Column], "\[NoBreak]", ")"}]}
      },
      GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
      GridBoxSpacings->{"Columns" -> {
          Offset[0.27999999999999997`], {
           Offset[0.7]}, 
          Offset[0.27999999999999997`]}, "Rows" -> {
          Offset[0.2], {
           Offset[0.4]}, 
          Offset[0.2]}}], "\[NoBreak]", ")"}],
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]}], "}"}]], "Output",
 CellChangeTimes->{3.885262312904598*^9, 3.8864591818815837`*^9, 
  3.8921877840108356`*^9, 3.8921879687034793`*^9, 3.8921897382672462`*^9},
 CellLabel->"Out[40]=",ExpressionUUID->"ce8ae857-8cb5-42a3-a3e9-96b6ac857c5a"]
}, Open  ]],

Cell[TextData[{
 "The list includes three parts - tensor expression, equal sign and \
components array of tensor.\nIn order to show the components in a beautiful \
way, It is headed by ",
 StyleBox["MatrixForm",
  FontWeight->"Bold"],
 ". So we need to use [[1]] one more time to get the components array in the \
form of list."
}], "Text",
 CellChangeTimes->{{3.8852623193688745`*^9, 3.885262435676049*^9}, {
  3.88526248297255*^9, 
  3.885262538247658*^9}},ExpressionUUID->"15eff4e8-b408-499f-b4b0-\
4f8a6a9980fc"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}], "[", 
   RowBox[{"[", 
    RowBox[{"1", ",", "3"}], "]"}], "]"}], "//", "Head"}]], "Input",
 CellLabel->"In[41]:=",ExpressionUUID->"362d31f9-715d-42ef-b4b0-9dd0b86e9483"],

Cell[BoxData["MatrixForm"], "Output",
 CellChangeTimes->{3.885262499580663*^9, 3.886459184682742*^9, 
  3.892187785872473*^9, 3.8921879704615493`*^9, 3.892189739942584*^9},
 CellLabel->"Out[41]=",ExpressionUUID->"90602321-172c-47ab-beec-f1eed25a76cf"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcTensor", "[", "\"\<Christoffel\>\"", "]"}], "[", 
  RowBox[{"[", 
   RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]], "Input",
 CellLabel->"In[42]:=",ExpressionUUID->"2409ba32-da06-4225-b11e-39229f09ac58"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", 
       RowBox[{
        RowBox[{"-", 
         RowBox[{"Cos", "[", "\[Theta]", "]"}]}], " ", 
        RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"Cot", "[", "\[Theta]", "]"}], ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{"Cot", "[", "\[Theta]", "]"}], ",", "0"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0"}], "}"}]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.885262541766426*^9, 3.886459186228826*^9, 
  3.8921877871352167`*^9, 3.8921897408577127`*^9},
 CellLabel->"Out[42]=",ExpressionUUID->"55f6207a-ac37-46ab-bc35-62273b3064d4"]
}, Open  ]],

Cell["This is the components list.", "Text",
 CellChangeTimes->{{3.8852625440686045`*^9, 
  3.885262553310385*^9}},ExpressionUUID->"797eb81a-3532-4fb6-ab76-\
c975ebb4b10b"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calculate the Riemann Tensor and Set as a Tensor", "Subsection",
 CellChangeTimes->{{3.8822443192770996`*^9, 3.8822443253328323`*^9}, {
  3.883710764970944*^9, 
  3.8837107707199135`*^9}},ExpressionUUID->"82e5a9ed-eb43-4276-8387-\
1154781deee9"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcTensor", "[", "\"\<RiemannTensor\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.88199504013012*^9, 3.881995053437218*^9}},
 CellLabel->"In[43]:=",ExpressionUUID->"b837fef5-99d1-41b1-885c-6a91286299bf"],

Cell[BoxData[
 TemplateBox[{
   TemplateBox[{
     SubscriptBox["\"R\"", 
      TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\"", "\"\[Sigma]\""}, "RowDefault"]], 
     TemplateBox[{"\"\[Rho]\""}, "RowDefault"]}, "Superscript", SyntaxForm -> 
    SuperscriptBox], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
            1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              SuperscriptBox[
               RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}, {
              RowBox[{"-", "1"}], "0"}}, RowSpacings -> 1, ColumnSpacings -> 
            1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              RowBox[{"-", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"1", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
            1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}]}}, RowSpacings -> 1, ColumnSpacings -> 1, 
       RowAlignments -> Baseline, ColumnAlignments -> Center], "\[NoBreak]", 
      ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{
  3.881995062190774*^9, {3.8820772419474387`*^9, 3.8820772638720465`*^9}, 
   3.8820773231117444`*^9, 3.88207739146798*^9, 3.8820774382621393`*^9, 
   3.882086220885744*^9, 3.882243998465921*^9, 3.882244124216056*^9, 
   3.883200298576341*^9, 3.8834510155929017`*^9, 3.8850682548867955`*^9, 
   3.8864591901496162`*^9, 3.8921877888232374`*^9, 3.892189742343355*^9},
 CellLabel->"Out[43]=",ExpressionUUID->"2758231e-f364-4df2-8f36-13bde1752e9f"]
}, Open  ]],

Cell[BoxData[
 RowBox[{"SetTensor", "[", 
  RowBox[{
   RowBox[{"STensor", "[", 
    RowBox[{"R", ",", 
     RowBox[{"{", 
      RowBox[{"a", ",", "b", ",", "c"}], "}"}], ",", 
     RowBox[{"{", "d", "}"}]}], "]"}], ",", " ", 
   RowBox[{
    RowBox[{"STCalcTensor", "[", "\"\<RiemannTensor\>\"", "]"}], "[", 
    RowBox[{"[", 
     RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.88224412872299*^9, 3.882244150239408*^9}, {
  3.8921879752029095`*^9, 3.892187975815815*^9}},
 CellLabel->
  "In[160]:=",ExpressionUUID->"bc633692-a962-41b2-a93a-6035e07498da"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Verify the Definition of the Riemann Tensor ", "Subsection",
 CellChangeTimes->{
  3.8832088044579782`*^9, {3.8832089090351887`*^9, 3.883208911448101*^9}, {
   3.883710778060254*^9, 3.883710781459347*^9}, {3.8837108138305483`*^9, 
   3.8837108428892593`*^9}},ExpressionUUID->"3d70a709-d9c7-43b2-a1da-\
4ae14c9ffc7c"],

Cell[BoxData[{
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SubscriptBox["v", "a"], ",", 
    RowBox[{"{", 
     RowBox[{"1", ",", "0"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SubscriptBox["w", "a"], ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", "1"}], "}"}]}], "]"}], ";"}]}], "Input",
 CellChangeTimes->{{3.8832092685685463`*^9, 3.883209302011244*^9}},
 CellLabel->"In[68]:=",ExpressionUUID->"51cb0a24-81ea-4746-af31-976db3cda06e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcComponents", "/@", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{
     RowBox[{
      SubscriptBox["\[Del]", "a"], 
      RowBox[{
       SubscriptBox["\[Del]", "b"], 
       SubscriptBox["w", "c"]}]}], "-", 
     RowBox[{
      SubscriptBox["\[Del]", "b"], 
      RowBox[{
       SubscriptBox["\[Del]", "a"], 
       SubscriptBox["w", "c"]}]}]}], ",", 
    RowBox[{
     SuperscriptBox[
      SubscriptBox["R", "abc"], "d"], 
     SubscriptBox["w", "d"]}]}], "}"}]}]], "Input",
 CellChangeTimes->{{3.8832092149599504`*^9, 3.883209267384093*^9}, {
   3.883209317801728*^9, 3.8832093374147654`*^9}, {3.883209368864205*^9, 
   3.883209372834228*^9}, {3.883209411534187*^9, 3.883209427614538*^9}, {
   3.883604773911182*^9, 3.8836047745895233`*^9}, {3.8869745816596584`*^9, 
   3.8869746006403375`*^9}, 3.892186891234428*^9, {3.8921897468366966`*^9, 
   3.8921897477723923`*^9}},
 CellLabel->"In[70]:=",ExpressionUUID->"aa0c21e5-e65c-4a67-9f59-cedd86c4f440"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox["\[ScriptCapitalT]", 
      TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]"}, "RowDefault"]], 
     "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}, {"0"}}, 
               RowSpacings -> 1, ColumnAlignments -> Center, ColumnAlignments -> 
               Left], Column], "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{
                 RowBox[{"-", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"0"}}, 
               RowSpacings -> 1, ColumnAlignments -> Center, ColumnAlignments -> 
               Left], Column], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}}, 
         RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
         ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     SubscriptBox["\[ScriptCapitalT]", 
      TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]"}, "RowDefault"]], 
     "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}, {"0"}}, 
               RowSpacings -> 1, ColumnAlignments -> Center, ColumnAlignments -> 
               Left], Column], "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{
                 RowBox[{"-", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"0"}}, 
               RowSpacings -> 1, ColumnAlignments -> Center, ColumnAlignments -> 
               Left], Column], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}}, 
         RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
         ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{
  3.883209428795581*^9, {3.883604612631027*^9, 3.8836046406325397`*^9}, {
   3.883604764406205*^9, 3.883604775750935*^9}, {3.885191823102705*^9, 
   3.885191826231747*^9}, 3.886974443872594*^9, 3.8869746012103424`*^9, 
   3.8921877942509985`*^9, 3.8921889547203803`*^9, 3.8921897481308312`*^9, 
   3.8921901054864283`*^9},
 CellLabel->"Out[70]=",ExpressionUUID->"c4b16bc4-9bfe-44db-b08b-0d00394ce36a"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcComponents", "/@", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{
     RowBox[{
      SuperscriptBox["g", "ad"], 
      SuperscriptBox["g", "be"], 
      RowBox[{
       SubscriptBox["\[Del]", "d"], 
       RowBox[{
        SubscriptBox["\[Del]", "e"], 
        SuperscriptBox[
         RowBox[{"(", 
          RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "c"]}]}]}], 
     "-", 
     RowBox[{
      SuperscriptBox["g", "ad"], 
      SuperscriptBox["g", "be"], 
      RowBox[{
       SubscriptBox["\[Del]", "e"], 
       RowBox[{
        SubscriptBox["\[Del]", "d"], 
        SuperscriptBox[
         RowBox[{"(", 
          RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "c"]}]}]}]}], 
    ",", 
    RowBox[{
     SuperscriptBox["g", "ae"], 
     SuperscriptBox["g", "bf"], 
     SuperscriptBox["g", "cg"], 
     SubscriptBox["g", "dh"], 
     SuperscriptBox[
      SubscriptBox["R", "efg"], "h"], 
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{"\[CapitalDifferentialD]", "\[Phi]"}], ")"}], "d"]}]}], 
   "}"}]}]], "Input",
 CellChangeTimes->{{3.886974456714449*^9, 3.886974611364976*^9}, {
   3.886974645765397*^9, 3.886974696620623*^9}, 3.8921868912484694`*^9},
 CellLabel->
  "In[161]:=",ExpressionUUID->"7ec22c45-4ecc-490e-a1cc-4f7cce3da5a1"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     TemplateBox[{"\[ScriptCapitalT]", 
       TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]"}, "RowDefault"]}, 
      "Superscript", SyntaxForm -> SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{"0"}, {
                 RowBox[{"-", 
                   FractionBox["1", 
                    SuperscriptBox["R", "4"]]}]}}, RowSpacings -> 1, 
               ColumnAlignments -> Center, ColumnAlignments -> Left], Column],
              "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{"0"}, {
                 FractionBox["1", 
                  SuperscriptBox["R", "4"]]}}, RowSpacings -> 1, 
               ColumnAlignments -> Center, ColumnAlignments -> Left], Column],
              "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}}, 
         RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
         ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{"\[ScriptCapitalT]", 
       TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]"}, "RowDefault"]}, 
      "Superscript", SyntaxForm -> SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{"0"}, {
                 RowBox[{"-", 
                   FractionBox["1", 
                    SuperscriptBox["R", "4"]]}]}}, RowSpacings -> 1, 
               ColumnAlignments -> Center, ColumnAlignments -> Left], Column],
              "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              GridBox[{{"0"}, {
                 FractionBox["1", 
                  SuperscriptBox["R", "4"]]}}, RowSpacings -> 1, 
               ColumnAlignments -> Center, ColumnAlignments -> Left], Column],
              "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             TagBox[
              
              GridBox[{{"0"}, {"0"}}, ColumnAlignments -> Center, RowSpacings -> 
               1, ColumnAlignments -> Left], Column], "\[NoBreak]", ")"}]}}, 
         RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
         ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{
  3.892188135514572*^9, 3.8921882456163483`*^9, {3.8921882986114616`*^9, 
   3.8921883160583572`*^9}, 3.892188966319581*^9, 3.8921901867475853`*^9, 
   3.892190969844117*^9},
 CellLabel->
  "Out[161]=",ExpressionUUID->"462c96d3-cafb-474c-ba5f-761e66585ada"]
}, Open  ]],

Cell["\<\
Now we can see they are the same, which verify the definition of Riemann \
Tensor.\
\>", "Text",
 CellChangeTimes->{{3.883209558846335*^9, 3.8832095784575853`*^9}, {
  3.8835097791191807`*^9, 3.8835097807347713`*^9}, {3.8837109063090134`*^9, 
  3.8837109363311467`*^9}},ExpressionUUID->"3143aafc-0fba-4d49-8a28-\
094c4f319025"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calculate the Ricci Tensor and Set as a Tensor", "Subsection",
 CellChangeTimes->{{3.8822443415887156`*^9, 3.882244344718445*^9}, {
  3.88371094465948*^9, 
  3.8837109809509554`*^9}},ExpressionUUID->"61684444-8905-4ce1-8091-\
a9430c9c5a44"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcTensor", "[", "\"\<RicciTensor\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.881995063768309*^9, 3.8819950687459345`*^9}},
 CellLabel->
  "In[178]:=",ExpressionUUID->"4626a2b1-7696-47b3-9162-bc6918ff785e"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\"R\"", 
    TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         SuperscriptBox[
          RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], "0"}, {"0", "1"}}, 
       RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
       ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{
  3.8819950813404083`*^9, {3.882077243506762*^9, 3.8820772670555687`*^9}, 
   3.882077326068585*^9, 3.882077440728796*^9, 3.8820862222319746`*^9, 
   3.8832003032223034`*^9, 3.8850682606205997`*^9, 3.886459201805135*^9, 
   3.8921889694001513`*^9},
 CellLabel->
  "Out[178]=",ExpressionUUID->"829a47e5-4708-451f-a60e-b37c0805f7de"]
}, Open  ]],

Cell[BoxData[
 RowBox[{"SetTensor", "[", 
  RowBox[{
   RowBox[{"STensor", "[", 
    RowBox[{"R", ",", 
     RowBox[{"{", 
      RowBox[{"a", ",", "b"}], "}"}], ",", 
     RowBox[{"{", "}"}]}], "]"}], ",", " ", 
   RowBox[{
    RowBox[{"STCalcTensor", "[", "\"\<RicciTensor\>\"", "]"}], "[", 
    RowBox[{"[", 
     RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.882244207369112*^9, 3.8822442136378045`*^9}},
 CellLabel->
  "In[162]:=",ExpressionUUID->"544fd9ac-fad6-4a14-9533-94992e1e037a"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calculate the Ricci Scalar ", "Subsection",
 CellChangeTimes->{{3.882244353254987*^9, 3.8822443557632484`*^9}, {
  3.8837109528379803`*^9, 
  3.8837109630709457`*^9}},ExpressionUUID->"5a5ef315-c6bf-4927-878a-\
d268ea411a0b"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcTensor", "[", "\"\<RicciScalar\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.881995083670255*^9, 3.8819950900061398`*^9}},
 CellLabel->
  "In[180]:=",ExpressionUUID->"5bbe4656-747a-42c0-9361-c61649628f20"],

Cell[BoxData[
 TemplateBox[{"\"R\"", "\"=\"", 
   TagBox[
    FractionBox["2", 
     SuperscriptBox["R", "2"]], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{
  3.881995098720572*^9, {3.882077246045447*^9, 3.8820772681667385`*^9}, 
   3.882077327286831*^9, 3.882077441930873*^9, 3.8820862231835203`*^9, 
   3.883200305683869*^9, 3.885068266637761*^9, 3.8864592055878096`*^9, 
   3.8921889718714466`*^9},
 CellLabel->
  "Out[180]=",ExpressionUUID->"26eb93a7-cc18-46bc-be30-a71284095817"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calculate the Einstein Tensor and Set as a Tensor", "Subsection",
 CellChangeTimes->{{3.8822443589028206`*^9, 3.8822443627529936`*^9}, {
  3.883710987281039*^9, 
  3.883710991131071*^9}},ExpressionUUID->"1b2b4bcf-25ba-4e67-882f-\
9e6325045556"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcTensor", "[", "\"\<EinsteinTensor\>\"", "]"}]], "Input",
 CellChangeTimes->{{3.881995099500406*^9, 3.881995109316817*^9}},
 CellLabel->
  "In[181]:=",ExpressionUUID->"9c4af208-c3d8-49b8-9f38-2c7aa8a4e754"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\"G\"", 
    TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1,
        RowAlignments -> Baseline, ColumnAlignments -> Center], "\[NoBreak]", 
      ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{
  3.881995116291788*^9, {3.882077247006822*^9, 3.882077269831401*^9}, 
   3.8820773313586516`*^9, 3.882077443200961*^9, 3.882086224121356*^9, 
   3.883200307277033*^9, 3.885068269786974*^9, 3.886459208131831*^9, 
   3.8921889732951*^9},
 CellLabel->
  "Out[181]=",ExpressionUUID->"ee51f52b-7bcc-4ca1-885b-ef71be9b91d5"]
}, Open  ]],

Cell[BoxData[
 RowBox[{"SetTensor", "[", 
  RowBox[{
   RowBox[{"STensor", "[", 
    RowBox[{"G", ",", 
     RowBox[{"{", 
      RowBox[{"a", ",", "b"}], "}"}], ",", 
     RowBox[{"{", "}"}]}], "]"}], ",", " ", 
   RowBox[{
    RowBox[{"STCalcTensor", "[", "\"\<EinsteinTensor\>\"", "]"}], "[", 
    RowBox[{"[", 
     RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8822442270292816`*^9, 3.8822442334695787`*^9}},
 CellLabel->
  "In[163]:=",ExpressionUUID->"31402982-cccd-4378-9a63-441044640653"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Show the Components Information of All Tensors named \
\[OpenCurlyDoubleQuote]R\[CloseCurlyDoubleQuote]", "Subsection",
 CellChangeTimes->{{3.8822443718256865`*^9, 3.882244378765835*^9}, {
  3.8837109966388884`*^9, 
  3.883711016089179*^9}},ExpressionUUID->"b2676548-d95b-492e-bde9-\
542577f2ef94"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STensorInfo", "[", "R", "]"}]], "Input",
 CellChangeTimes->{{3.8822442373033543`*^9, 3.8822442409580746`*^9}},
 CellLabel->
  "In[183]:=",ExpressionUUID->"d4a150a4-0243-4774-9499-227887c8429c"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     TemplateBox[{
       SubscriptBox["R", 
        TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]"}, "RowDefault"]], 
       TemplateBox[{"\[Delta]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
      SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}, {
                RowBox[{"-", "1"}], "0"}}, RowSpacings -> 1, ColumnSpacings -> 
              1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
             "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", 
                RowBox[{"-", 
                  SuperscriptBox[
                   RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {
               "1", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
              RowAlignments -> Baseline, ColumnAlignments -> Center], 
             "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}]}}, RowSpacings -> 
         1, ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     SubscriptBox["R", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           SuperscriptBox[
            RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], "0"}, {"0", "1"}}, 
         RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
         ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{
  3.882244264485465*^9, {3.882244656555812*^9, 3.882244676741991*^9}, 
   3.883200311989459*^9, 3.8850682726679173`*^9, 3.886459212448687*^9, 
   3.8921889762613573`*^9},
 CellLabel->
  "Out[183]=",ExpressionUUID->"62f71bec-a4d5-4f12-8ed0-a244d726bcea"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[
 FormBox[
  RowBox[{
  "Show", " ", "the", " ", "Components", " ", "Information", " ", "of", " ", 
   "tensor", " ", 
   SuperscriptBox[
    SubscriptBox["R", 
     RowBox[{"a", " ", "b", " ", "c"}]], "d"]}], 
  TraditionalForm]],ExpressionUUID->"ddaf668c-41ce-4525-9dc8-b18dca8da881"]], \
"Subsection",
 CellChangeTimes->{{3.8832097193499146`*^9, 3.883209772917512*^9}, {
  3.8837110233106284`*^9, 
  3.8837110503726625`*^9}},ExpressionUUID->"001b5425-a896-45c5-a2c4-\
c0213d9d11b7"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STensorInfo", "[", 
  RowBox[{"STensor", "[", 
   RowBox[{"R", ",", 
    RowBox[{"{", 
     RowBox[{"a", ",", "b", ",", "c"}], "}"}], ",", 
    RowBox[{"{", "d", "}"}]}], "]"}], "]"}]], "Input",
 CellChangeTimes->{{3.8822443856493177`*^9, 3.882244407490217*^9}, {
  3.8822444969697742`*^9, 3.8822445039593315`*^9}, {3.8822447406209564`*^9, 
  3.8822447562191863`*^9}, {3.8832097517221155`*^9, 3.8832097545525217`*^9}},
 CellLabel->
  "In[164]:=",ExpressionUUID->"c6f9864c-6958-4ebf-ab4c-8f9c641c7d40"],

Cell[BoxData[
 TemplateBox[{
   TemplateBox[{
     SubscriptBox["R", 
      TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]"}, "RowDefault"]], 
     TemplateBox[{"\[Delta]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
    SuperscriptBox], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
            1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              SuperscriptBox[
               RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}, {
              RowBox[{"-", "1"}], "0"}}, RowSpacings -> 1, ColumnSpacings -> 
            1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              RowBox[{"-", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"1", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
            1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}]}}, RowSpacings -> 1, ColumnSpacings -> 1, 
       RowAlignments -> Baseline, ColumnAlignments -> Center], "\[NoBreak]", 
      ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{
  3.8822444417893085`*^9, {3.882244489914714*^9, 3.8822444984016156`*^9}, 
   3.882244693191063*^9, {3.8822447410507717`*^9, 3.8822447566127386`*^9}, 
   3.8832003133257236`*^9, 3.8834510237154737`*^9, 3.8850682754187307`*^9, 
   3.886459215023483*^9, 3.892188977792328*^9, 3.892190983724498*^9},
 CellLabel->
  "Out[164]=",ExpressionUUID->"5c758665-d88a-432f-9a25-ba3efe77aaa7"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Get Components Information with the Input of Abstract Expression Directly\
\>", "Subsection",
 CellChangeTimes->{{3.88320978154774*^9, 3.8832097945762215`*^9}, {
  3.883711057109522*^9, 
  3.88371107977903*^9}},ExpressionUUID->"e7c25194-78ed-4947-a20e-\
7f63a5a31b70"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STensorInfo", "[", 
  SubscriptBox["G", "ab"], "]"}]], "Input",
 CellChangeTimes->{{3.8822446989825864`*^9, 3.882244703558149*^9}, 
   3.8850682796313934`*^9},
 CellLabel->
  "In[185]:=",ExpressionUUID->"f59c564a-83cd-43b2-9c10-3d17d2b3fcff"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["G", 
    TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1,
        RowAlignments -> Baseline, ColumnAlignments -> Center], "\[NoBreak]", 
      ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{{3.88224472153994*^9, 3.8822447382001324`*^9}, 
   3.8832003162321386`*^9, 3.88506828051089*^9, 3.886459217581609*^9, 
   3.8921889792185984`*^9},
 CellLabel->
  "Out[185]=",ExpressionUUID->"26a59d51-230c-4fb1-af09-da86f2a99726"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Verify that the Einstein Tensor of all two-dimensional generalized Riemannian \
spaces is zero\
\>", "Subsection",
 CellChangeTimes->{{3.885068322317966*^9, 
  3.8850683411616087`*^9}},ExpressionUUID->"cf25ffa2-3e8a-48e4-805b-\
b9f5236eaa79"],

Cell["The components of metric g are functions of coordinates.", "Text",
 CellChangeTimes->{{3.885068388314864*^9, 
  3.885068409447214*^9}},ExpressionUUID->"5322cfe0-76b4-4167-a85f-\
d7097614322e"],

Cell[BoxData[
 RowBox[{
  RowBox[{"ein", "=", 
   RowBox[{"SCalcEinsteinTensor", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          SubscriptBox["g", "11"], "[", 
          RowBox[{"x", ",", "y"}], "]"}], ",", 
         RowBox[{
          SubscriptBox["g", "12"], "[", 
          RowBox[{"x", ",", "y"}], "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          SubscriptBox["g", "21"], "[", 
          RowBox[{"x", ",", "y"}], "]"}], ",", 
         RowBox[{
          SubscriptBox["g", "22"], "[", 
          RowBox[{"x", ",", "y"}], "]"}]}], "}"}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"x", ",", "y"}], "}"}]}], "]"}]}], ";"}]], "Input",
 CellLabel->
  "In[186]:=",ExpressionUUID->"b5798d93-5547-40a7-9904-71ed17273aaf"],

Cell["Simplify the results with the symmetry of metric g.", "Text",
 CellChangeTimes->{{3.885068421584084*^9, 
  3.8850684616504116`*^9}},ExpressionUUID->"cdb4354d-2c0c-44dd-bbf7-\
e6d9b2b9ae76"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Simplify", "[", 
   RowBox[{"ein", ",", 
    RowBox[{
     SubscriptBox["g", "12"], "==", 
     SubscriptBox["g", "21"]}]}], "]"}], "//", "MatrixForm"}]], "Input",
 CellLabel->
  "In[187]:=",ExpressionUUID->"83d1f33b-d082-424d-b0be-05baf3f3a3c0"],

Cell[BoxData[
 TagBox[
  RowBox[{"(", "\[NoBreak]", GridBox[{
     {"0", "0"},
     {"0", "0"}
    },
    GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
    GridBoxSpacings->{"Columns" -> {
        Offset[0.27999999999999997`], {
         Offset[0.7]}, 
        Offset[0.27999999999999997`]}, "Rows" -> {
        Offset[0.2], {
         Offset[0.4]}, 
        Offset[0.2]}}], "\[NoBreak]", ")"}],
  Function[BoxForm`e$, 
   MatrixForm[BoxForm`e$]]]], "Output",
 CellChangeTimes->{3.8850684694895983`*^9, 3.886459225177309*^9, 
  3.892188983917754*^9},
 CellLabel->
  "Out[187]//MatrixForm=",ExpressionUUID->"d017723e-905d-4a9d-84f2-\
9db97a6f8418"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Solve the Killing Vector Fields", "Subsection",
 CellChangeTimes->{{3.883177429934814*^9, 3.8831774553506436`*^9}, {
   3.8837110883985996`*^9, 3.883711102978736*^9}, 
   3.883711286639107*^9},ExpressionUUID->"a950ec25-c72f-4aff-b49c-\
38813b1f89ae"],

Cell[BoxData[
 RowBox[{"SetTensor", "[", 
  RowBox[{
   SuperscriptBox["\[Xi]", "a"], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      RowBox[{"Superscript", "[", 
       RowBox[{"\[Xi]", ",", "1"}], "]"}], "[", 
      RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], ",", 
     RowBox[{
      RowBox[{"Superscript", "[", 
       RowBox[{"\[Xi]", ",", "2"}], "]"}], "[", 
      RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8831774771589985`*^9, 3.8831775195363736`*^9}, {
  3.883177936743739*^9, 3.883177948904843*^9}, {3.883197755458245*^9, 
  3.8831977570959654`*^9}, {3.883199868095461*^9, 3.8831998727130475`*^9}, {
  3.883200364214482*^9, 3.883200382485613*^9}},
 CellLabel->
  "In[188]:=",ExpressionUUID->"1026d779-7246-4792-a05f-aaf524c0bb34"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"expr", " ", "=", " ", 
  RowBox[{"STSymmetrize", "[", 
   RowBox[{
    RowBox[{
     SubscriptBox["\[Del]", "a"], 
     RowBox[{"(", 
      RowBox[{
       SubscriptBox["g", "bc"], 
       SuperscriptBox["\[Xi]", "c"]}], ")"}]}], ",", 
    RowBox[{"{", 
     RowBox[{"a", ",", "b"}], "}"}]}], "]"}]}]], "Input",
 CellChangeTimes->{{3.8831775263087687`*^9, 3.883177586544856*^9}, {
   3.883197764095953*^9, 3.8831977730761175`*^9}, {3.883210399313425*^9, 
   3.8832103997942133`*^9}, 3.8836047942495766`*^9},
 CellLabel->
  "In[189]:=",ExpressionUUID->"d09a6c99-c4d8-4455-8160-b6e8b78140fc"],

Cell[BoxData[
 RowBox[{
  FractionBox["1", "2"], " ", 
  RowBox[{"(", 
   RowBox[{
    TemplateBox[{
      RowBox[{"(", 
        RowBox[{
          RowBox[{"STensor", "[", 
            RowBox[{"g", ",", 
              RowBox[{"{", 
                RowBox[{"a", ",", "c"}], "}"}], ",", 
              RowBox[{"{", "}"}]}], "]"}], " ", 
          RowBox[{"STensor", "[", 
            RowBox[{"\[Xi]", ",", 
              RowBox[{"{", "}"}], ",", 
              RowBox[{"{", "c", "}"}]}], "]"}]}], ")"}], "b"},
     "Grad"], "+", 
    TemplateBox[{
      RowBox[{"(", 
        RowBox[{
          RowBox[{"STensor", "[", 
            RowBox[{"g", ",", 
              RowBox[{"{", 
                RowBox[{"b", ",", "c"}], "}"}], ",", 
              RowBox[{"{", "}"}]}], "]"}], " ", 
          RowBox[{"STensor", "[", 
            RowBox[{"\[Xi]", ",", 
              RowBox[{"{", "}"}], ",", 
              RowBox[{"{", "c", "}"}]}], "]"}]}], ")"}], "a"},
     "Grad"]}], ")"}]}]], "Output",
 CellChangeTimes->{3.8831775881395254`*^9, 3.8831779539842944`*^9, 
  3.883197774359072*^9, 3.8832003324436483`*^9, 3.8832003846009283`*^9, 
  3.8836047973122163`*^9, 3.8864592289926605`*^9, 3.8921889877172556`*^9},
 CellLabel->
  "Out[189]=",ExpressionUUID->"f108443b-f794-492b-94ee-6d6468c2f15d"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcComponents", "[", "expr", "]"}]], "Input",
 CellChangeTimes->{{3.8831775993990583`*^9, 3.8831776033727207`*^9}, {
   3.8831776906261234`*^9, 3.8831776988666115`*^9}, {3.8832104060826836`*^9, 
   3.883210406581438*^9}, 3.892186891292801*^9},
 CellLabel->
  "In[190]:=",ExpressionUUID->"8a845557-a2c9-4dbf-a8a2-7a10d565b324"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\[ScriptCapitalT]", 
    TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{
           SuperscriptBox["R", "2"], " ", 
           RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
           RowBox[{"(", 
             RowBox[{
               RowBox[{
                 RowBox[{"Cos", "[", "\[Theta]", "]"}], " ", 
                 RowBox[{
                   
                   TemplateBox[{"\[Xi]", "2"}, "Superscript", SyntaxForm -> 
                    SuperscriptBox], "[", 
                   RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "+", 
               RowBox[{
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
                 RowBox[{
                   SuperscriptBox[
                    RowBox[{"(", 
                    
                    TemplateBox[{"\[Xi]", "1"}, "Superscript", SyntaxForm -> 
                    SuperscriptBox], ")"}], 
                    TagBox[
                    RowBox[{"(", 
                    RowBox[{"1", ",", "0"}], ")"}], Derivative], 
                    MultilineFunction -> None], "[", 
                   RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}]}], ")"}]}], 
         RowBox[{
           FractionBox["1", "2"], " ", 
           SuperscriptBox["R", "2"], " ", 
           RowBox[{"(", 
             RowBox[{
               RowBox[{
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], " ", 
                 RowBox[{
                   SuperscriptBox[
                    RowBox[{"(", 
                    
                    TemplateBox[{"\[Xi]", "1"}, "Superscript", SyntaxForm -> 
                    SuperscriptBox], ")"}], 
                    TagBox[
                    RowBox[{"(", 
                    RowBox[{"0", ",", "1"}], ")"}], Derivative], 
                    MultilineFunction -> None], "[", 
                   RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "+", 
               RowBox[{
                 SuperscriptBox[
                  RowBox[{"(", 
                    
                    TemplateBox[{"\[Xi]", "2"}, "Superscript", SyntaxForm -> 
                    SuperscriptBox], ")"}], 
                  TagBox[
                   RowBox[{"(", 
                    RowBox[{"1", ",", "0"}], ")"}], Derivative], 
                  MultilineFunction -> None], "[", 
                 RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], ")"}]}]}, {
         RowBox[{
           FractionBox["1", "2"], " ", 
           SuperscriptBox["R", "2"], " ", 
           RowBox[{"(", 
             RowBox[{
               RowBox[{
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], " ", 
                 RowBox[{
                   SuperscriptBox[
                    RowBox[{"(", 
                    
                    TemplateBox[{"\[Xi]", "1"}, "Superscript", SyntaxForm -> 
                    SuperscriptBox], ")"}], 
                    TagBox[
                    RowBox[{"(", 
                    RowBox[{"0", ",", "1"}], ")"}], Derivative], 
                    MultilineFunction -> None], "[", 
                   RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "+", 
               RowBox[{
                 SuperscriptBox[
                  RowBox[{"(", 
                    
                    TemplateBox[{"\[Xi]", "2"}, "Superscript", SyntaxForm -> 
                    SuperscriptBox], ")"}], 
                  TagBox[
                   RowBox[{"(", 
                    RowBox[{"1", ",", "0"}], ")"}], Derivative], 
                  MultilineFunction -> None], "[", 
                 RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], ")"}]}], 
         RowBox[{
           SuperscriptBox["R", "2"], " ", 
           RowBox[{
             SuperscriptBox[
              RowBox[{"(", 
                
                TemplateBox[{"\[Xi]", "2"}, "Superscript", SyntaxForm -> 
                 SuperscriptBox], ")"}], 
              TagBox[
               RowBox[{"(", 
                 RowBox[{"0", ",", "1"}], ")"}], Derivative], 
              MultilineFunction -> None], "[", 
             RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}]}}, RowSpacings -> 1,
        ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
       Center], "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{3.883177621446424*^9, 3.883177699432933*^9, 
  3.883177955741926*^9, 3.8831977761918745`*^9, 3.8832003375172853`*^9, 
  3.883200387445416*^9, 3.8836047986860504`*^9, 3.88645923466827*^9, 
  3.8921889890016775`*^9},
 CellLabel->
  "Out[190]=",ExpressionUUID->"d50702e5-04dc-4be5-a6fd-8a4917995316"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"components", "=", 
  RowBox[{"%", "[", 
   RowBox[{"[", 
    RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}]], "Input",
 CellChangeTimes->{{3.8831777010998054`*^9, 3.8831777313167734`*^9}},
 CellLabel->
  "In[191]:=",ExpressionUUID->"ba307bb6-7e73-4f0d-941f-8ea08f04c7b2"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      SuperscriptBox["R", "2"], " ", 
      RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
      RowBox[{"(", 
       RowBox[{
        RowBox[{
         RowBox[{"Cos", "[", "\[Theta]", "]"}], " ", 
         RowBox[{
          TemplateBox[{"\[Xi]", "2"},
           "Superscript"], "[", 
          RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "+", 
        RowBox[{
         RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
         RowBox[{
          SuperscriptBox[
           RowBox[{"(", 
            TemplateBox[{"\[Xi]", "1"},
             "Superscript"], ")"}], 
           TagBox[
            RowBox[{"(", 
             RowBox[{"1", ",", "0"}], ")"}],
            Derivative],
           MultilineFunction->None], "[", 
          RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}]}], ")"}]}], ",", 
     RowBox[{
      FractionBox["1", "2"], " ", 
      SuperscriptBox["R", "2"], " ", 
      RowBox[{"(", 
       RowBox[{
        RowBox[{
         SuperscriptBox[
          RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], " ", 
         RowBox[{
          SuperscriptBox[
           RowBox[{"(", 
            TemplateBox[{"\[Xi]", "1"},
             "Superscript"], ")"}], 
           TagBox[
            RowBox[{"(", 
             RowBox[{"0", ",", "1"}], ")"}],
            Derivative],
           MultilineFunction->None], "[", 
          RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "+", 
        RowBox[{
         SuperscriptBox[
          RowBox[{"(", 
           TemplateBox[{"\[Xi]", "2"},
            "Superscript"], ")"}], 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], ")"}]}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      FractionBox["1", "2"], " ", 
      SuperscriptBox["R", "2"], " ", 
      RowBox[{"(", 
       RowBox[{
        RowBox[{
         SuperscriptBox[
          RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], " ", 
         RowBox[{
          SuperscriptBox[
           RowBox[{"(", 
            TemplateBox[{"\[Xi]", "1"},
             "Superscript"], ")"}], 
           TagBox[
            RowBox[{"(", 
             RowBox[{"0", ",", "1"}], ")"}],
            Derivative],
           MultilineFunction->None], "[", 
          RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "+", 
        RowBox[{
         SuperscriptBox[
          RowBox[{"(", 
           TemplateBox[{"\[Xi]", "2"},
            "Superscript"], ")"}], 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], ")"}]}], ",", 
     RowBox[{
      SuperscriptBox["R", "2"], " ", 
      RowBox[{
       SuperscriptBox[
        RowBox[{"(", 
         TemplateBox[{"\[Xi]", "2"},
          "Superscript"], ")"}], 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}]}], "}"}]}], 
  "}"}]], "Output",
 CellChangeTimes->{3.883177733401474*^9, 3.883177957248247*^9, 
  3.883197778500183*^9, 3.8832003405856037`*^9, 3.883200393781215*^9, 
  3.8864592378269615`*^9, 3.892188990453762*^9},
 CellLabel->
  "Out[191]=",ExpressionUUID->"b82811ed-6c37-4f19-a6f6-e7a7e5dbd4f8"]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"$Assumptions", "=", 
   RowBox[{
    RowBox[{"R", ">", "0"}], "&&", 
    RowBox[{"0", "<", "\[Theta]", "<", "Pi"}], "&&", 
    RowBox[{"0", "<", "\[Phi]", "<", 
     RowBox[{"2", " ", "Pi"}]}]}]}], ";"}]], "Input",
 CellChangeTimes->{{3.8831978107506065`*^9, 3.883197872046683*^9}},
 CellLabel->
  "In[192]:=",ExpressionUUID->"ee4c6308-96b5-454f-ad9a-50c8bab642bf"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Reduce", "[", 
   RowBox[{
    RowBox[{"components", "==", 
     RowBox[{"Array", "[", 
      RowBox[{
       RowBox[{"0", "&"}], ",", 
       RowBox[{"Dimensions", "[", "components", "]"}]}], "]"}]}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"\[Xi]1", "[", 
       RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], ",", 
      RowBox[{"\[Xi]2", "[", 
       RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], "}"}], ",", "Reals"}], 
   "]"}], "//", "Simplify"}]], "Input",
 CellChangeTimes->{{3.8831777429401264`*^9, 3.8831779267024097`*^9}, {
  3.883177971785665*^9, 3.8831779781930103`*^9}, {3.8831780144968157`*^9, 
  3.8831780151766357`*^9}, {3.883197797976574*^9, 3.8831977997538996`*^9}},
 CellLabel->
  "In[193]:=",ExpressionUUID->"b7c25e66-8d76-49fa-8bac-bf7997e9653e"],

Cell[BoxData[
 RowBox[{
  RowBox[{"(", 
   RowBox[{
    RowBox[{
     RowBox[{
      TemplateBox[{"\[Xi]", "2"},
       "Superscript"], "[", 
      RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], "\[NotEqual]", "0"}], "||", 
    RowBox[{
     RowBox[{
      SuperscriptBox[
       RowBox[{"(", 
        TemplateBox[{"\[Xi]", "1"},
         "Superscript"], ")"}], 
       TagBox[
        RowBox[{"(", 
         RowBox[{"1", ",", "0"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], "\[Equal]", "0"}]}], ")"}], 
  "&&", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{
     RowBox[{
      TemplateBox[{"\[Xi]", "2"},
       "Superscript"], "[", 
      RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], "\[Equal]", "0"}], "||", 
    RowBox[{
     RowBox[{
      RowBox[{"Cos", "[", "\[Theta]", "]"}], "+", 
      FractionBox[
       RowBox[{
        RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
        RowBox[{
         SuperscriptBox[
          RowBox[{"(", 
           TemplateBox[{"\[Xi]", "1"},
            "Superscript"], ")"}], 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}], 
       RowBox[{
        TemplateBox[{"\[Xi]", "2"},
         "Superscript"], "[", 
        RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]]}], "\[Equal]", "0"}]}], 
   ")"}], "&&", 
  RowBox[{
   RowBox[{
    SuperscriptBox[
     RowBox[{"(", 
      TemplateBox[{"\[Xi]", "2"},
       "Superscript"], ")"}], 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "1"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], "\[Equal]", "0"}], "&&", 
  RowBox[{
   RowBox[{
    RowBox[{
     SuperscriptBox[
      RowBox[{"(", 
       TemplateBox[{"\[Xi]", "1"},
        "Superscript"], ")"}], 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}], "+", 
    RowBox[{
     SuperscriptBox[
      RowBox[{"Csc", "[", "\[Theta]", "]"}], "2"], " ", 
     RowBox[{
      SuperscriptBox[
       RowBox[{"(", 
        TemplateBox[{"\[Xi]", "2"},
         "Superscript"], ")"}], 
       TagBox[
        RowBox[{"(", 
         RowBox[{"1", ",", "0"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"\[Phi]", ",", "\[Theta]"}], "]"}]}]}], "\[Equal]", 
   "0"}]}]], "Output",
 CellChangeTimes->{{3.8831777801371346`*^9, 3.883177927113886*^9}, {
   3.8831779587839603`*^9, 3.8831779785229197`*^9}, 3.8831780156161685`*^9, {
   3.8831977821492434`*^9, 3.8831978001100144`*^9}, {3.883197845373643*^9, 
   3.8831978742286005`*^9}, 3.883198041139412*^9, 3.8832003449370503`*^9, 
   3.8832003982029276`*^9, 3.8864592416978836`*^9, 3.8921889945256767`*^9},
 CellLabel->
  "Out[193]=",ExpressionUUID->"95e000e1-e78d-423f-b9e1-8ef77b193b04"]
}, Open  ]],

Cell["\<\
The differential equations here are not easy to solve. Here is a roundabout \
strategy - guessing that the symmetry of the sphere is a rotational symmetry \
around three axes in the Cartesian coordinate system.
This is changed to a Cartesian coordinate system in three-dimensional \
Euclidean space where the three Killing vectors of rotational symmetry are \
written directly and a coordinate transformation is used to obtain the \
components in the spherical coordinate system, which are then substituted \
back here for verification.\
\>", "Text",
 CellChangeTimes->{{3.883711115218934*^9, 
  3.8837112261580515`*^9}},ExpressionUUID->"b3205e31-b78e-4c56-ad01-\
9a99a51bb8b9"],

Cell[BoxData[{
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["u", "a"], ",", 
    RowBox[{"{", 
     RowBox[{"1", ",", "0"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["v", "a"], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{"-", 
        RowBox[{"Cos", "[", "\[Phi]", "]"}]}], 
       RowBox[{"Cot", "[", "\[Theta]", "]"}]}], ",", 
      RowBox[{"-", 
       RowBox[{"Sin", "[", "\[Phi]", "]"}]}]}], "}"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["w", "a"], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{"Sin", "[", "\[Phi]", "]"}], 
       RowBox[{"Cot", "[", "\[Theta]", "]"}]}], ",", 
      RowBox[{"-", 
       RowBox[{"Cos", "[", "\[Phi]", "]"}]}]}], "}"}]}], "]"}], 
  ";"}]}], "Input",
 CellChangeTimes->{{3.8831933311052732`*^9, 3.8831933737227354`*^9}, {
   3.883193547702181*^9, 3.8831935519833217`*^9}, {3.883193649462929*^9, 
   3.883193657511517*^9}, {3.8831939141514387`*^9, 3.883193914681746*^9}, {
   3.883194269981799*^9, 3.883194326310932*^9}, {3.883194461380308*^9, 
   3.8831944948214936`*^9}, {3.8831949971002274`*^9, 3.883195001629608*^9}, {
   3.883195915710046*^9, 3.8831959551894197`*^9}, {3.883195993347761*^9, 
   3.8831961126076517`*^9}, {3.8831969793475657`*^9, 
   3.8831970021373634`*^9}, {3.8831974521070437`*^9, 3.883197461787305*^9}, {
   3.8831975985970426`*^9, 3.8831976290266137`*^9}, {3.88319766360674*^9, 
   3.883197711966854*^9}, 3.88319774677718*^9, {3.8831978983577747`*^9, 
   3.883197920226846*^9}, {3.8831979505677214`*^9, 3.8831980189864397`*^9}, {
   3.883198225937171*^9, 3.883198295565713*^9}, {3.883199719984903*^9, 
   3.8831997601865444`*^9}, {3.8831999409264*^9, 3.8831999500365734`*^9}, {
   3.883200039986206*^9, 3.883200043065462*^9}},
 CellLabel->
  "In[194]:=",ExpressionUUID->"09cdc31f-b9f7-4450-ac27-b56840d67ffb"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcComponents", "/@", 
   RowBox[{"(", 
    RowBox[{
     RowBox[{
      RowBox[{"STSymmetrize", "[", 
       RowBox[{
        RowBox[{
         SubscriptBox["\[Del]", "a"], 
         RowBox[{"(", 
          RowBox[{
           SubscriptBox["g", "bc"], 
           SuperscriptBox["#", "c"]}], ")"}]}], ",", 
        RowBox[{"{", 
         RowBox[{"a", ",", "b"}], "}"}]}], "]"}], "&"}], "/@", 
     RowBox[{"{", 
      RowBox[{"u", ",", "v", ",", "w"}], "}"}]}], ")"}]}], "//", 
  "FullSimplify"}]], "Input",
 CellChangeTimes->{{3.8831933787967777`*^9, 3.8831934274022846`*^9}, {
   3.8831943021813383`*^9, 3.8831943243394976`*^9}, {3.8831944876697545`*^9, 
   3.8831944923816233`*^9}, {3.883196531421688*^9, 3.8831965323332815`*^9}, {
   3.8831966022645407`*^9, 3.8831966048621817`*^9}, {3.8831974083288155`*^9, 
   3.883197441657345*^9}, {3.8831975614274154`*^9, 3.883197622696861*^9}, {
   3.883197703567501*^9, 3.8831977055018053`*^9}, {3.883199811443527*^9, 
   3.883199815323228*^9}, 3.8836048080411406`*^9, 3.892186891320283*^9},
 CellLabel->
  "In[197]:=",ExpressionUUID->"4fb41d9b-bfe2-4641-be9d-940d7c5176b7"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox["\[ScriptCapitalT]", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
         1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
        "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     SubscriptBox["\[ScriptCapitalT]", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
         1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
        "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     SubscriptBox["\[ScriptCapitalT]", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{"0", "0"}, {"0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 
         1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
        "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{{3.8831934133048935`*^9, 3.883193438658865*^9}, 
   3.8831935571146*^9, 3.8831936537394476`*^9, 3.8831939174046044`*^9, {
   3.8831942866206083`*^9, 3.88319432196076*^9}, {3.883194463885016*^9, 
   3.8831944892522535`*^9}, 3.8831950033203115`*^9, {3.88319592155986*^9, 
   3.883195941510088*^9}, {3.8831960014759617`*^9, 3.8831960788893423`*^9}, 
   3.883196539441781*^9, 3.8831966059943714`*^9, {3.8831969828168726`*^9, 
   3.883197004792015*^9}, 3.883197410028556*^9, {3.8831974448033075`*^9, 
   3.883197457736741*^9}, {3.8831976171041803`*^9, 3.883197634093291*^9}, {
   3.8831976722327847`*^9, 3.883197713911826*^9}, 3.8831977482490296`*^9, {
   3.883197904793852*^9, 3.883197921596689*^9}, {3.8831979837884765`*^9, 
   3.883198020796192*^9}, {3.883198234443244*^9, 3.8831982672900486`*^9}, 
   3.8831997816234455`*^9, 3.8831998159298096`*^9, 3.8831999626159463`*^9, 
   3.883200057232765*^9, 3.883200405384026*^9, 3.8836048110857296`*^9, 
   3.886459246963051*^9, 3.892188999311383*^9},
 CellLabel->
  "Out[197]=",ExpressionUUID->"09086fbe-5fd8-4fb9-be70-7f439591654b"]
}, Open  ]],

Cell["\<\
The two-dimensional sphere has three symmetries - rotational symmetry around \
the x-y-z axis in a Cartesian coordinate system with three independent \
Killing vector fields.\
\>", "Text",
 CellChangeTimes->{{3.883711261009516*^9, 
  3.883711266710676*^9}},ExpressionUUID->"b33d05e9-351f-4f75-b45f-\
a4208720b5dd"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["3-D Euclidean Metric", "Section",
 CellChangeTimes->{{3.883200065033888*^9, 3.8832001046738515`*^9}, {
  3.8832062482663527`*^9, 3.8832062562671556`*^9}, {3.883711292749798*^9, 
  3.883711293429476*^9}},ExpressionUUID->"4b95fe16-5124-41fa-b2d6-\
0d4bce0af041"],

Cell[BoxData[
 RowBox[{"SetMetric", "[", 
  RowBox[{
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{"1", ",", "1", ",", "1"}], "}"}], "]"}], ",", 
   RowBox[{"{", 
    RowBox[{"x", ",", "y", ",", "z"}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.883199190228414*^9, 3.883199223199795*^9}, {
  3.88319927632559*^9, 3.8831992813946*^9}},
 CellLabel->
  "In[198]:=",ExpressionUUID->"3adc96a4-2e90-48da-bece-4ac35416622a"],

Cell[CellGroupData[{

Cell["\<\
Rotational Symmetries Corresponding to the Three Killing Vector Fields\
\>", "Subsection",
 CellChangeTimes->{{3.883200116887473*^9, 3.8832001288676186`*^9}, {
  3.883711304880913*^9, 3.883711318931285*^9}, {3.8837114874483323`*^9, 
  3.883711488009028*^9}},ExpressionUUID->"ebe688ed-a284-4ab6-a260-\
2f0b89d1f3c6"],

Cell["\<\
Here three independent Killing vectors can be written based on the rotational \
symmetry in each coordinate plan:\
\>", "Text",
 CellChangeTimes->{{3.883711330239836*^9, 
  3.883711339259683*^9}},ExpressionUUID->"f7dd562f-695d-4ddb-9414-\
da05b3b86be4"],

Cell[BoxData[{
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["u", "a"], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"-", "y"}], ",", "x", ",", "0"}], "}"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["v", "a"], ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", 
      RowBox[{"-", "z"}], ",", "y"}], "}"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetTensor", "[", 
   RowBox[{
    SuperscriptBox["w", "a"], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"-", "z"}], ",", "0", ",", "x"}], "}"}]}], "]"}], 
  ";"}]}], "Input",
 CellChangeTimes->{{3.883199259178481*^9, 3.883199314014095*^9}},
 CellLabel->
  "In[199]:=",ExpressionUUID->"28473798-289f-4f6c-b0f9-c05b9629bd43"],

Cell["Do the coordinates transformation:", "Text",
 CellChangeTimes->{{3.8832004901184826`*^9, 3.8832004951665874`*^9}, {
  3.8837113426992526`*^9, 
  3.8837113548317103`*^9}},ExpressionUUID->"cf61edda-1aaa-42c8-a43a-\
495ee1c0f310"],

Cell[BoxData[
 RowBox[{"SCoordinatesTransform", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"x", "->", 
      RowBox[{"r", " ", 
       RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
       RowBox[{"Cos", "[", "\[Phi]", "]"}]}]}], ",", 
     RowBox[{"y", "->", 
      RowBox[{"r", " ", 
       RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
       RowBox[{"Sin", "[", "\[Phi]", "]"}]}]}], ",", 
     RowBox[{"z", "->", 
      RowBox[{"r", " ", 
       RowBox[{"Cos", "[", "\[Theta]", "]"}]}]}]}], "}"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.8831993282980704`*^9, 3.8831994275554876`*^9}, {
  3.8831996093565216`*^9, 3.8831996361861706`*^9}, {3.88319998715726*^9, 
  3.883200002776622*^9}},
 CellLabel->
  "In[202]:=",ExpressionUUID->"c680ec24-2237-46bc-a5f6-075a75728962"],

Cell["\<\
At this point the specific component expressions for each Killing vector \
field in the spherical coordinate system are obtained, written back to the \
corresponding content in the previous spherical metric, and then verified.\
\>", "Text",
 CellChangeTimes->{{3.883200526348471*^9, 3.8832005801873074`*^9}, 
   3.8835099592184024`*^9, 
   3.8837113686004972`*^9},ExpressionUUID->"0f1d21b8-194d-4954-9c2f-\
f846838850cb"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STensorInfo", "/@", 
  RowBox[{"{", 
   RowBox[{"u", ",", "v", ",", "w", ",", "g"}], "}"}]}]], "Input",
 CellChangeTimes->{{3.883199658578395*^9, 3.883199670293679*^9}, {
  3.883199928583808*^9, 3.883199928883397*^9}},
 CellLabel->
  "In[203]:=",ExpressionUUID->"fb7ebe61-6b4f-4a94-a010-dd4a44f45332"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"u", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          
          GridBox[{{"0"}, {"0"}, {"1"}}, ColumnAlignments -> Center, 
           RowSpacings -> 1, ColumnAlignments -> Left], Column], "\[NoBreak]",
          ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"v", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          GridBox[{{"0"}, {
             RowBox[{"-", 
               RowBox[{"Sin", "[", "\[Phi]", "]"}]}]}, {
             RowBox[{
               RowBox[{"-", 
                 RowBox[{"Cos", "[", "\[Phi]", "]"}]}], " ", 
               RowBox[{"Cot", "[", "\[Theta]", "]"}]}]}}, RowSpacings -> 1, 
           ColumnAlignments -> Center, ColumnAlignments -> Left], Column], 
         "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    TemplateBox[{
      TemplateBox[{"w", 
        TemplateBox[{"\[Alpha]"}, "RowDefault"]}, "Superscript", SyntaxForm -> 
       SuperscriptBox], "\"=\"", 
      TagBox[
       RowBox[{"(", "\[NoBreak]", 
         TagBox[
          GridBox[{{"0"}, {
             RowBox[{"-", 
               RowBox[{"Cos", "[", "\[Phi]", "]"}]}]}, {
             RowBox[{
               RowBox[{"Cot", "[", "\[Theta]", "]"}], " ", 
               RowBox[{"Sin", "[", "\[Phi]", "]"}]}]}}, RowSpacings -> 1, 
           ColumnAlignments -> Center, ColumnAlignments -> Left], Column], 
         "\[NoBreak]", ")"}], 
       Function[BoxForm`e$, 
        MatrixForm[BoxForm`e$]]]},
     "RowDefault"], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     TemplateBox[{
       SubscriptBox["g", 
        TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
       TagBox[
        RowBox[{"(", "\[NoBreak]", 
          GridBox[{{"1", "0", "0"}, {"0", 
             SuperscriptBox["r", "2"], "0"}, {"0", "0", 
             RowBox[{
               SuperscriptBox["r", "2"], " ", 
               SuperscriptBox[
                RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}}, RowSpacings -> 
           1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
           ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
        Function[BoxForm`e$, 
         MatrixForm[BoxForm`e$]]]},
      "RowDefault"], ",", 
     TemplateBox[{
       TemplateBox[{"g", 
         TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]}, "Superscript", 
        SyntaxForm -> SuperscriptBox], "\"=\"", 
       TagBox[
        RowBox[{"(", "\[NoBreak]", 
          GridBox[{{"1", "0", "0"}, {"0", 
             FractionBox["1", 
              SuperscriptBox["r", "2"]], "0"}, {"0", "0", 
             FractionBox[
              SuperscriptBox[
               RowBox[{"Csc", "[", "\[Theta]", "]"}], "2"], 
              SuperscriptBox["r", "2"]]}}, RowSpacings -> 1, ColumnSpacings -> 
           1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
          "\[NoBreak]", ")"}], 
        Function[BoxForm`e$, 
         MatrixForm[BoxForm`e$]]]},
      "RowDefault"]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{
  3.8831996798454957`*^9, {3.883199908199766*^9, 3.8831999301273966`*^9}, 
   3.8832000259823923`*^9, 3.883200483664494*^9, {3.8832563264242992`*^9, 
   3.883256362495878*^9}, 3.88325652933252*^9, 3.8832565795796933`*^9, 
   3.886459257771986*^9, 3.8921890070926447`*^9},
 CellLabel->
  "Out[203]=",ExpressionUUID->"118ae3ff-e215-4d8d-b3cf-a340462cc071"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Minkowski Spacetime", "Section",
 CellChangeTimes->{{3.883253254092184*^9, 3.8832532656606565`*^9}, {
  3.883274339335224*^9, 3.883274342734211*^9}, {3.883711386428238*^9, 
  3.883711386648365*^9}, {3.8837114770583572`*^9, 
  3.8837114771303053`*^9}},ExpressionUUID->"315048c3-df2e-44d8-92b0-\
9f711b02f0f3"],

Cell[CellGroupData[{

Cell["Set the Components, Coordinate System and Symbol of Metric.", \
"Subsection",
 CellChangeTimes->{{3.883253312621014*^9, 3.8832533212661705`*^9}, {
  3.883711389178603*^9, 
  3.8837114136686597`*^9}},ExpressionUUID->"f078238f-9e18-4b78-aba0-\
a4558e90b159"],

Cell[BoxData[
 RowBox[{"SetMetric", "[", 
  RowBox[{
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"-", "1"}], ",", "1", ",", "1", ",", "1"}], "}"}], "]"}], ",", 
   RowBox[{"{", 
    RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "}"}], ",", "\[Eta]"}], 
  "]"}]], "Input",
 CellChangeTimes->{{3.8832532674951*^9, 3.883253300757125*^9}},
 CellLabel->
  "In[204]:=",ExpressionUUID->"7e1233ca-0ebc-495a-852f-9728f005a1e3"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Verify the Symmetries of Minkowski Spacetime", "Subsection",
 CellChangeTimes->{{3.8832571276570873`*^9, 3.8832571339925804`*^9}, {
  3.8832651044868536`*^9, 3.8832651059884644`*^9}, {3.8837114210685205`*^9, 
  3.883711482099703*^9}},ExpressionUUID->"a60776c4-ccab-4087-95e3-\
ebe972ca0264"],

Cell[CellGroupData[{

Cell["Verify the Invariance of Space-time Translations", "Subsubsection",
 CellChangeTimes->{{3.8832561592461424`*^9, 3.8832561633915415`*^9}, {
  3.8832571377808237`*^9, 3.8832571551923046`*^9}, {3.8837114966486907`*^9, 
  3.883711525038513*^9}},ExpressionUUID->"0ab52749-81ef-4569-80d6-\
9d8f5cf9de18"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"SCoordinatesTransform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"t", "->", 
       RowBox[{"t", "+", 
        RowBox[{"C", "[", "1", "]"}]}]}], ",", 
      RowBox[{"x", "->", 
       RowBox[{"x", "+", 
        RowBox[{"C", "[", "2", "]"}]}]}], ",", 
      RowBox[{"y", "->", 
       RowBox[{"y", "+", 
        RowBox[{"C", "[", "3", "]"}]}]}], ",", 
      RowBox[{"z", "->", 
       RowBox[{"z", "+", 
        RowBox[{"C", "[", "4", "]"}]}]}]}], "}"}]}], "]"}], ";"}], "\n", 
 RowBox[{"STensorInfo", "[", "\[Eta]", "]"}]}], "Input",
 CellChangeTimes->{{3.8832533842355914`*^9, 3.883253441172827*^9}, {
   3.883253493454139*^9, 3.8832534942407694`*^9}, {3.8832537111228943`*^9, 
   3.883253713813407*^9}, {3.883255655365878*^9, 3.883255702105356*^9}, {
   3.8832558401469283`*^9, 3.8832558625744314`*^9}, {3.883255896674512*^9, 
   3.8832559196761036`*^9}, {3.883255969177081*^9, 3.8832559822059183`*^9}, {
   3.88325605503585*^9, 3.883256149586375*^9}, 3.8832567840569077`*^9, {
   3.8832568911580105`*^9, 3.88325689776903*^9}, {3.883257157717964*^9, 
   3.883257166797871*^9}, 3.883547099454494*^9, {3.886927285180701*^9, 
   3.8869272904419837`*^9}, {3.8869274049835987`*^9, 
   3.8869274135769567`*^9}, {3.886927486599028*^9, 3.886927492072715*^9}},
 CellLabel->
  "In[205]:=",ExpressionUUID->"3c46ad1f-d03a-449a-bdac-7ca894eeaec4"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox["\[Eta]", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"-", "1"}], "0", "0", "0"}, {"0", "1", "0", "0"}, {
          "0", "0", "1", "0"}, {"0", "0", "0", "1"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{"\[Eta]", 
       TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]}, "Superscript", 
      SyntaxForm -> SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"-", "1"}], "0", "0", "0"}, {"0", "1", "0", "0"}, {
          "0", "0", "1", "0"}, {"0", "0", "0", "1"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{{3.8832534529925966`*^9, 3.883253500230598*^9}, {
   3.8832537086074142`*^9, 3.883253722216529*^9}, {3.8832556511202908`*^9, 
   3.883255709511923*^9}, {3.8832558568037143`*^9, 3.8832558662321835`*^9}, {
   3.8832559084813185`*^9, 3.8832559244043508`*^9}, {3.8832559644203186`*^9, 
   3.883256005805383*^9}, 3.883256072208349*^9, 3.883256154996904*^9, 
   3.8832562464709787`*^9, 3.8832562785755453`*^9, 3.883256536203091*^9, 
   3.883256585105323*^9, {3.8832567559743924`*^9, 3.8832567857236757`*^9}, {
   3.883256848620243*^9, 3.883256868437789*^9}, 3.8832569010519705`*^9, 
   3.883256965722906*^9, 3.8832571672807894`*^9, {3.8835470906965866`*^9, 
   3.8835471002926693`*^9}, 3.8864592799076195`*^9, {3.886927036990903*^9, 
   3.8869270452513533`*^9}, {3.8869271990161686`*^9, 
   3.8869272041270576`*^9}, {3.8869272677100334`*^9, 3.886927291557763*^9}, {
   3.88692736002857*^9, 3.8869273665509796`*^9}, {3.886927414389332*^9, 
   3.886927418997488*^9}, {3.8869274760055437`*^9, 3.886927497307855*^9}, {
   3.886927566892206*^9, 3.8869275739416013`*^9}, {3.886927695178463*^9, 
   3.8869276967891183`*^9}, 3.8921890108403907`*^9},
 CellLabel->
  "Out[206]=",ExpressionUUID->"6d967427-21ff-43e2-8921-f943189fd915"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Verify Spatial Rotation", "Subsubsection",
 CellChangeTimes->{{3.8835471771360598`*^9, 3.8835471910210333`*^9}, {
  3.8837115335098724`*^9, 3.883711537819874*^9}, {3.8837116609399204`*^9, 
  3.8837116630585*^9}, {3.8863668669003773`*^9, 
  3.886366867077654*^9}},ExpressionUUID->"b05a8553-695b-4414-a032-\
aae30b43e6b2"],

Cell["\<\
Spatial rotation is naturally established. Because the three-dimensional \
Euclidean space is a submanifold of the Minkowski spacetime, its metric is \
the 3-D Euclidean metric, which naturally carries three spatial rotation \
invariants.\
\>", "Text",
 CellChangeTimes->{{3.883547194536445*^9, 3.883547253467409*^9}, {
  3.8837115466702194`*^9, 3.88371154850762*^9}, {3.8837115788200035`*^9, 
  3.883711649299958*^9}, {3.8837117055589705`*^9, 3.8837117062902327`*^9}, {
  3.886366868672735*^9, 
  3.8863668913927317`*^9}},ExpressionUUID->"f9c046d1-d0f6-4257-a647-\
10dcf4e9c7f1"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Verify Boost Invariance", "Subsubsection",
 CellChangeTimes->{{3.8835468461413136`*^9, 3.883546851537915*^9}, {
  3.8837116670980124`*^9, 
  3.883711670081184*^9}},ExpressionUUID->"4777db92-6df6-4856-af10-\
b94d04826378"],

Cell["\<\
The boost of Minkowski spacetime corresponds to the Lorentz transformation \
between coordinate system.
Here we verify the t-x boost:\
\>", "Text",
 CellChangeTimes->{{3.8835471128310127`*^9, 3.883547127205764*^9}, {
  3.8835472625155506`*^9, 3.8835472765882354`*^9}, {3.8837116794498816`*^9, 
  3.883711738768998*^9}, {3.8863667341413727`*^9, 
  3.886366734327855*^9}},ExpressionUUID->"3f30f329-38d1-4f33-8604-\
d39b1ad866f3"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"SCoordinatesTransform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"t", "->", 
       RowBox[{
        RowBox[{"x", " ", 
         RowBox[{"Sinh", "[", "\[Phi]", "]"}]}], "+", 
        RowBox[{"t", " ", 
         RowBox[{"Cosh", "[", "\[Phi]", "]"}]}]}]}], ",", 
      RowBox[{"x", "->", 
       RowBox[{
        RowBox[{"x", " ", 
         RowBox[{"Cosh", "[", "\[Phi]", "]"}]}], "+", 
        RowBox[{"t", " ", 
         RowBox[{"Sinh", "[", "\[Phi]", "]"}]}]}]}], ",", 
      RowBox[{"y", "->", "y"}], ",", 
      RowBox[{"z", "->", "z"}]}], "}"}]}], "]"}], ";"}], "\n", 
 RowBox[{"STensorInfo", "[", "\[Eta]", "]"}]}], "Input",
 CellChangeTimes->{{3.883546855153675*^9, 3.8835468608815556`*^9}, {
  3.8835468917719874`*^9, 3.8835468981613345`*^9}, {3.8835469525522127`*^9, 
  3.8835469966727667`*^9}, {3.883547072282651*^9, 3.8835470972830906`*^9}},
 CellLabel->
  "In[207]:=",ExpressionUUID->"68d69a81-4cd5-4ac8-a21d-c9a6538d0d7e"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox["\[Eta]", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"-", "1"}], "0", "0", "0"}, {"0", "1", "0", "0"}, {
          "0", "0", "1", "0"}, {"0", "0", "0", "1"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{"\[Eta]", 
       TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]}, "Superscript", 
      SyntaxForm -> SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"-", "1"}], "0", "0", "0"}, {"0", "1", "0", "0"}, {
          "0", "0", "1", "0"}, {"0", "0", "0", "1"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{
  3.8835470449210873`*^9, 3.883547101368415*^9, 3.88645928760851*^9, 
   3.886487608535882*^9, {3.8869272713313737`*^9, 3.8869272737639613`*^9}, 
   3.886927698743368*^9, 3.8921890142494335`*^9},
 CellLabel->
  "Out[208]=",ExpressionUUID->"beb59da3-bd76-435d-995e-4fed8e2eb1b2"]
}, Open  ]],

Cell[TextData[{
 "Besides, you can use ",
 StyleBox["BoostMatrix ",
  FontWeight->"Bold"],
 "to generate a boost matrix corresponding to a velocity vector like this:"
}], "Text",
 CellChangeTimes->{{3.886487611413726*^9, 3.8864876497042685`*^9}, {
  3.886487770259888*^9, 
  3.88648777121264*^9}},ExpressionUUID->"2a7a9c50-9ab3-4977-bd2b-\
9dd0f6f8f855"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"BoostMatrix", "[", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"1", "/", "2"}], ",", "0", ",", "0"}], "}"}], "]"}], "//", 
  "MatrixForm"}]], "Input",
 CellChangeTimes->{{3.886487651613826*^9, 3.8864876690456614`*^9}, {
  3.8864877140852103`*^9, 3.8864877151230574`*^9}, {3.8864877559904275`*^9, 
  3.886487781478278*^9}, {3.8869267737626624`*^9, 3.886926797898569*^9}},
 CellLabel->
  "In[209]:=",ExpressionUUID->"f7951fcc-bc30-43f1-b55e-21660d2591d3"],

Cell[BoxData[
 TagBox[
  RowBox[{"(", "\[NoBreak]", GridBox[{
     {
      FractionBox["2", 
       SqrtBox["3"]], 
      RowBox[{"-", 
       FractionBox["1", 
        SqrtBox["3"]]}], "0", "0"},
     {
      RowBox[{"-", 
       FractionBox["1", 
        SqrtBox["3"]]}], 
      FractionBox["2", 
       SqrtBox["3"]], "0", "0"},
     {"0", "0", "1", "0"},
     {"0", "0", "0", "1"}
    },
    GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}},
    GridBoxSpacings->{"Columns" -> {
        Offset[0.27999999999999997`], {
         Offset[0.7]}, 
        Offset[0.27999999999999997`]}, "Rows" -> {
        Offset[0.2], {
         Offset[0.4]}, 
        Offset[0.2]}}], "\[NoBreak]", ")"}],
  Function[BoxForm`e$, 
   MatrixForm[BoxForm`e$]]]], "Output",
 CellChangeTimes->{
  3.8864876813168693`*^9, {3.886487757221027*^9, 3.886487782738386*^9}, {
   3.886926774634198*^9, 3.8869267981762123`*^9}, 3.88692770031923*^9, 
   3.892189015952527*^9},
 CellLabel->
  "Out[209]//MatrixForm=",ExpressionUUID->"1f36952f-02c8-4cee-b2eb-\
7b3c4d2e53a6"]
}, Open  ]],

Cell["\<\
Here I choose geometrized unit system, which means the  speed of light is \
chosen as 1. So the norm of velocity should be less than 1.

We can build the coordinates transformation as following:\
\>", "Text",
 CellChangeTimes->{{3.8864877870099583`*^9, 3.8864877954960966`*^9}, {
  3.8864878581037855`*^9, 3.8864879188800344`*^9}, {3.886488085286024*^9, 
  3.8864881176782985`*^9}},ExpressionUUID->"d5f3e993-fca4-4c5c-96f7-\
b0732813ceb3"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"boost", "=", 
  RowBox[{"Refine", "[", 
   RowBox[{
    RowBox[{"MapThread", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"#1", "->", "#2"}], "&"}], ",", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CoordinatesInfo", "[", "]"}], ",", 
        RowBox[{
         RowBox[{"BoostMatrix", "[", 
          RowBox[{"{", 
           RowBox[{"u", ",", "0", ",", "0"}], "}"}], "]"}], ".", 
         RowBox[{"CoordinatesInfo", "[", "]"}]}]}], "}"}]}], "]"}], ",", 
    RowBox[{
     RowBox[{"-", "1"}], "<", "u", "<", "1"}]}], "]"}]}]], "Input",
 CellChangeTimes->{{3.8864879224022064`*^9, 3.886487963068653*^9}, {
  3.886488009904228*^9, 3.8864880816871243`*^9}, {3.8864881635851984`*^9, 
  3.8864881677216234`*^9}, {3.886926802459364*^9, 3.8869268772802505`*^9}, {
  3.8869270051639137`*^9, 3.886927010681099*^9}, {3.8869275836929007`*^9, 
  3.8869276031507854`*^9}, {3.8869277108890567`*^9, 3.8869277224153795`*^9}},
 CellLabel->
  "In[210]:=",ExpressionUUID->"1bb55ad7-00e1-446f-a239-de4f1e353262"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"t", "\[Rule]", 
    RowBox[{
     FractionBox["t", 
      SqrtBox[
       RowBox[{"1", "-", 
        SuperscriptBox["u", "2"]}]]], "-", 
     FractionBox[
      RowBox[{"u", " ", "x"}], 
      SqrtBox[
       RowBox[{"1", "-", 
        SuperscriptBox["u", "2"]}]]]}]}], ",", 
   RowBox[{"x", "\[Rule]", 
    RowBox[{
     RowBox[{"-", 
      FractionBox[
       RowBox[{"t", " ", "u"}], 
       SqrtBox[
        RowBox[{"1", "-", 
         SuperscriptBox["u", "2"]}]]]}], "+", 
     FractionBox["x", 
      SqrtBox[
       RowBox[{"1", "-", 
        SuperscriptBox["u", "2"]}]]]}]}], ",", 
   RowBox[{"y", "\[Rule]", "y"}], ",", 
   RowBox[{"z", "\[Rule]", "z"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.886927722930477*^9, 3.8869277386470118`*^9}, 
   3.8921890177855334`*^9},
 CellLabel->
  "Out[210]=",ExpressionUUID->"2a4e91d1-a4d4-4e0d-9a3c-5f129240d31c"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"SCoordinatesTransform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "}"}], ",", "boost"}], 
   "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"STensorInfo", "[", "\[Eta]", "]"}]}], "Input",
 CellChangeTimes->{{3.886488127082515*^9, 3.8864881707598023`*^9}, {
  3.8869268882879705`*^9, 3.8869268935808477`*^9}, {3.886926946683341*^9, 
  3.886926956183875*^9}, {3.886926987388894*^9, 3.886926989382397*^9}, {
  3.8869277412025657`*^9, 3.886927743005954*^9}},
 CellLabel->
  "In[211]:=",ExpressionUUID->"e7c45cdb-8b5c-4f65-976c-f1f4080d3b53"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   TemplateBox[{
     SubscriptBox["\[Eta]", 
      TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"-", "1"}], "0", "0", "0"}, {"0", "1", "0", "0"}, {
          "0", "0", "1", "0"}, {"0", "0", "0", "1"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], ",", 
   TemplateBox[{
     TemplateBox[{"\[Eta]", 
       TemplateBox[{"\[Alpha]", "\[Beta]"}, "RowDefault"]}, "Superscript", 
      SyntaxForm -> SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"-", "1"}], "0", "0", "0"}, {"0", "1", "0", "0"}, {
          "0", "0", "1", "0"}, {"0", "0", "0", "1"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}], "}"}]], "Output",
 CellChangeTimes->{{3.8864881571047907`*^9, 3.886488174768586*^9}, 
   3.8869268101944714`*^9, {3.886926881838162*^9, 3.8869269160894146`*^9}, {
   3.886926952393675*^9, 3.8869269638277593`*^9}, {3.8869270143829403`*^9, 
   3.886927031833709*^9}, 3.886927216390257*^9, {3.88692760603996*^9, 
   3.8869276149723234`*^9}, {3.8869277031360426`*^9, 3.8869277061590943`*^9}, 
   3.8869277436719017`*^9, 3.8921890193472805`*^9},
 CellLabel->
  "Out[212]=",ExpressionUUID->"d04723fd-d73e-4ee2-9e1a-034b169c9f1e"]
}, Open  ]],

Cell["We can see the metric didn\[CloseCurlyQuote]t change after boost.", \
"Text",
 CellChangeTimes->{{3.8864881791609077`*^9, 
  3.886488205543923*^9}},ExpressionUUID->"5eacb77b-9511-458f-962a-\
e13d4a7c7972"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Schwarzschild Metric", "Section",
 CellChangeTimes->{{3.8832063597111673`*^9, 3.883206365586562*^9}, {
  3.8832064140657787`*^9, 3.8832064283768873`*^9}, {3.883711744329177*^9, 
  3.883711748058206*^9}},ExpressionUUID->"d264a300-cfe7-48e9-a814-\
cbdeb594ec04"],

Cell[BoxData[
 RowBox[{"Get", "[", 
  RowBox[{"FileNameJoin", "[", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"NotebookDirectory", "[", "]"}], ",", "\"\<SpTm.wl\>\""}], "}"}],
    "]"}], "]"}]], "Input",
 CellChangeTimes->{{3.8921879342904263`*^9, 3.892187952102129*^9}},
 CellLabel->"In[1]:=",ExpressionUUID->"d8ee6cef-5926-4b4c-98c6-7d74a80b1e23"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"Protect", "[", "M", "]"}], ";"}], 
  RowBox[{"(*", 
   RowBox[{
   "M", " ", "is", " ", "the", " ", "mass", " ", "of", " ", "the", " ", 
    "star"}], "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetMetric", "[", 
   RowBox[{
    RowBox[{"DiagonalMatrix", "[", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"-", 
        RowBox[{"(", 
         RowBox[{"1", "-", 
          FractionBox[
           RowBox[{"2", " ", "M"}], "r"]}], ")"}]}], ",", 
       SuperscriptBox[
        RowBox[{"(", 
         RowBox[{"1", "-", 
          FractionBox[
           RowBox[{"2", " ", "M"}], "r"]}], ")"}], 
        RowBox[{"-", "1"}]], ",", 
       SuperscriptBox["r", "2"], ",", 
       RowBox[{
        SuperscriptBox["r", "2"], 
        SuperscriptBox[
         RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}], "}"}], "]"}], ",", 
    " ", 
    RowBox[{"{", 
     RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]}], "]"}], 
  ";"}]}], "Input",
 CellChangeTimes->{{3.883206436899364*^9, 3.883206559767971*^9}, {
  3.8864889455506587`*^9, 3.8864889491530113`*^9}, {3.8864889983729906`*^9, 
  3.886488999449036*^9}, {3.886489039013422*^9, 3.886489046569701*^9}},
 CellLabel->"In[2]:=",ExpressionUUID->"51894e1f-c647-47f7-8eaf-f70af507fd62"],

Cell[CellGroupData[{

Cell["Calculate the Line Element Expression", "Subsection",
 CellChangeTimes->{{3.8832071070501595`*^9, 3.8832071101398554`*^9}, {
  3.8837117530984535`*^9, 
  3.8837117624100523`*^9}},ExpressionUUID->"1a86a965-6f93-41de-9734-\
34659b50fd30"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"lineElem", "=", 
  RowBox[{"SLineElement", "[", "]"}]}]], "Input",
 CellChangeTimes->{{3.8832065774601593`*^9, 3.883206580148495*^9}, {
  3.8832531812333765`*^9, 3.883253184941284*^9}, {3.883518125745824*^9, 
  3.883518127295898*^9}, {3.886459297082852*^9, 3.8864592994450226`*^9}},
 CellLabel->"In[4]:=",ExpressionUUID->"f7a913c3-d981-4c5e-ba14-be10ec6a809c"],

Cell[BoxData[
 RowBox[{
  FractionBox[
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "r"}], ")"}], "2"], 
   RowBox[{"1", "-", 
    FractionBox[
     RowBox[{"2", " ", "M"}], "r"]}]], "+", 
  RowBox[{
   RowBox[{"(", 
    RowBox[{
     RowBox[{"-", "1"}], "+", 
     FractionBox[
      RowBox[{"2", " ", "M"}], "r"]}], ")"}], " ", 
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "t"}], ")"}], "2"]}], "+", 
  RowBox[{
   SuperscriptBox["r", "2"], " ", 
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "\[Theta]"}], ")"}], "2"]}], "+", 
  RowBox[{
   SuperscriptBox["r", "2"], " ", 
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "\[Phi]"}], ")"}], "2"], " ", 
   SuperscriptBox[
    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]], "Output",
 CellChangeTimes->{
  3.883206585175015*^9, {3.88325317511244*^9, 3.883253186186496*^9}, 
   3.885068490292159*^9, 3.886459299997218*^9, 3.8864882124137516`*^9, 
   3.8921890224958563`*^9, 3.8921892208236947`*^9, 3.892189294446617*^9},
 CellLabel->"Out[4]=",ExpressionUUID->"dea11627-e740-444f-a055-9ca1b64418ee"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"lineElem", "/.", 
  RowBox[{"{", 
   RowBox[{"M", "->", "0"}], "}"}]}]], "Input",
 CellChangeTimes->{{3.8832531774632998`*^9, 3.8832531950404377`*^9}, 
   3.883518130996045*^9},
 CellLabel->"In[5]:=",ExpressionUUID->"0bb0a95a-d0ed-4a6b-9937-51d4731375df"],

Cell[BoxData[
 RowBox[{
  SuperscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "r"}], ")"}], "2"], "-", 
  SuperscriptBox[
   RowBox[{"(", 
    RowBox[{"\[DifferentialD]", "t"}], ")"}], "2"], "+", 
  RowBox[{
   SuperscriptBox["r", "2"], " ", 
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "\[Theta]"}], ")"}], "2"]}], "+", 
  RowBox[{
   SuperscriptBox["r", "2"], " ", 
   SuperscriptBox[
    RowBox[{"(", 
     RowBox[{"\[DifferentialD]", "\[Phi]"}], ")"}], "2"], " ", 
   SuperscriptBox[
    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]], "Output",
 CellChangeTimes->{3.8832531956840806`*^9, 3.8864593019648676`*^9, 
  3.8921890244226246`*^9, 3.892189222366955*^9, 3.892189295405675*^9},
 CellLabel->"Out[5]=",ExpressionUUID->"3602d9e0-b1f5-49e3-b98d-94fbcd0cd082"]
}, Open  ]],

Cell["\<\
Obviously, when the mass of star M is equal to zero, the spacetime is \
Minkowski spacetime, which is flat.\
\>", "Text",
 CellChangeTimes->{{3.8837117691805773`*^9, 
  3.8837118208195243`*^9}},ExpressionUUID->"0f97c594-00fe-49ca-91dc-\
41b91502bae2"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calculation the Volume Element", "Subsection",
 CellChangeTimes->{{3.8832071140593414`*^9, 3.8832071399141145`*^9}, {
  3.883711825410009*^9, 
  3.8837118418983517`*^9}},ExpressionUUID->"d559becc-d5e1-4c65-98ef-\
b5f14ae1e205"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"volEle", "=", 
  RowBox[{"Refine", "[", 
   RowBox[{
    RowBox[{"SVolumeElement", "[", "]"}], ",", 
    RowBox[{
     RowBox[{"r", ">=", "0"}], "&&", 
     RowBox[{"0", "<=", "\[Theta]", "<=", "Pi"}]}]}], "]"}]}]], "Input",
 CellChangeTimes->{{3.8832066013809233`*^9, 3.8832066039666057`*^9}, {
  3.8832067889202795`*^9, 3.8832068065172625`*^9}, {3.8864593046780996`*^9, 
  3.8864593070684886`*^9}, {3.886488249625043*^9, 3.886488260903284*^9}},
 CellLabel->"In[6]:=",ExpressionUUID->"47eddeec-ad27-4dac-9f5c-d3287f7977da"],

Cell[BoxData[
 RowBox[{
  SuperscriptBox["r", "2"], " ", 
  RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", 
  RowBox[{
   SubscriptBox[
    RowBox[{"\[DifferentialD]", "t"}], "a"], "\[Wedge]", 
   SubscriptBox[
    RowBox[{"\[DifferentialD]", "r"}], "b"], "\[Wedge]", 
   SubscriptBox[
    RowBox[{"\[DifferentialD]", "\[Theta]"}], "c"], "\[Wedge]", 
   SubscriptBox[
    RowBox[{"\[DifferentialD]", "\[Phi]"}], "d"]}]}]], "Output",
 CellChangeTimes->{
  3.883206608337613*^9, 3.8832068070512524`*^9, 3.8864593076307793`*^9, 
   3.886488215917218*^9, {3.8864882635532265`*^9, 3.88648826527205*^9}, 
   3.892189026058652*^9, 3.8921892244593134`*^9, 3.892189297024646*^9},
 CellLabel->"Out[6]=",ExpressionUUID->"0d397c29-dece-4fda-9866-314da8540bf5"]
}, Open  ]],

Cell["\<\
We can use STCalcComponents to calculate every components of the \
VolumeElement:\
\>", "Text",
 CellChangeTimes->{{3.8864882196121016`*^9, 3.886488238552276*^9}, 
   3.8921868913729987`*^9},ExpressionUUID->"6bf088a0-b5c1-4d54-8c7f-\
7cb092f41367"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"STCalcComponents", "[", "volEle", "]"}]], "Input",
 CellChangeTimes->{{3.886488239808535*^9, 3.8864882685029097`*^9}, 
   3.8921868914268255`*^9},
 CellLabel->"In[8]:=",ExpressionUUID->"c08028e8-862d-47d4-ad36-cc7dcf8b9a36"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\[ScriptCapitalT]", 
    TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]", "\[Delta]"}, 
     "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}, {"0", "0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0"}}, RowSpacings -> 
            1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}, {
             "0", "0", "0", "0"}, {"0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0"}, {"0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}, {"0", "0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0"}}, RowSpacings -> 
            1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0"}, {
             "0", "0", "0", "0"}, {
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}, {
             "0", "0", "0", "0"}, {"0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0"}, {
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0"}, {"0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", 
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0"}, {
             "0", "0", "0", "0"}, {
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              RowBox[{
                RowBox[{"-", 
                  SuperscriptBox["r", "2"]}], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0"}, {
              RowBox[{
                SuperscriptBox["r", "2"], " ", 
                RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}}, RowSpacings -> 1, ColumnSpacings -> 
       1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
      "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{3.8864882695871873`*^9, 3.8921893048556943`*^9},
 CellLabel->"Out[8]=",ExpressionUUID->"dc5a53b4-4279-44c4-b2e9-ec67caf6b969"]
}, Open  ]],

Cell["\<\
Use TensorSymmetry to check the symmetry of the volume element like:\
\>", "Text",
 CellChangeTimes->{{3.886488299790848*^9, 
  3.886488324411066*^9}},ExpressionUUID->"2813fba0-0186-4a0e-9d8f-\
cb07c433aea9"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"TensorSymmetry", "[", 
  RowBox[{"%", "[", 
   RowBox[{"[", 
    RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}], "]"}]], "Input",
 CellChangeTimes->{{3.886488279164612*^9, 3.8864882869697595`*^9}},
 CellLabel->"In[9]:=",ExpressionUUID->"e64c9a60-833c-488e-982b-ca2b20dd3663"],

Cell[BoxData[
 RowBox[{"Antisymmetric", "[", 
  RowBox[{"{", 
   RowBox[{"1", ",", "2", ",", "3", ",", "4"}], "}"}], "]"}]], "Output",
 CellChangeTimes->{3.886488288283983*^9, 3.8921893078255496`*^9},
 CellLabel->"Out[9]=",ExpressionUUID->"e86d6731-2677-4037-b271-6e2ef181abb7"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Calculate Riemann Tensor, Ricci Tensor, Ricci Scalar and Einstein Tensor
Verify the Schwarzschild metric is a solution of vacuum Einstein Field \
Equation\
\>", "Subsection",
 CellChangeTimes->{{3.883207260675109*^9, 3.8832073119009976`*^9}, {
  3.883209835080614*^9, 3.8832098401290755`*^9}, {3.8837118443682957`*^9, 
  3.8837119133979497`*^9}},ExpressionUUID->"c43600e6-d833-4754-8e99-\
669588c32a57"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Print", "@@", 
  RowBox[{"(", 
   RowBox[{"STCalcTensor", "/@", 
    RowBox[{"{", 
     RowBox[{
     "\"\<RiemannTensor\>\"", ",", "\"\<RicciTensor\>\"", ",", 
      "\"\<RicciScalar\>\"", ",", "\"\<EinsteinTensor\>\""}], "}"}]}], 
   ")"}]}]], "Input",
 CellChangeTimes->{{3.883206831269618*^9, 3.8832069637060847`*^9}, {
  3.885192070601312*^9, 3.885192087732685*^9}},
 CellLabel->"In[11]:=",ExpressionUUID->"7c61930d-bf92-4b2d-9218-96344aa02dd8"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TemplateBox[{
     TemplateBox[{
       SubscriptBox["\"R\"", 
        TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\"", "\"\[Sigma]\""}, 
         "RowDefault"]], 
       TemplateBox[{"\"\[Rho]\""}, "RowDefault"]}, "Superscript", SyntaxForm -> 
      SuperscriptBox], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
               "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", 
                FractionBox[
                 RowBox[{"2", " ", "M", " ", 
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}]}], 
                 SuperscriptBox["r", "4"]], "0", "0"}, {
                FractionBox[
                 RowBox[{"2", " ", "M"}], 
                 RowBox[{
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                   SuperscriptBox["r", "2"]}]], "0", "0", "0"}, {
               "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", 
                FractionBox[
                 RowBox[{"M", " ", 
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
                 SuperscriptBox["r", "4"]], "0"}, {"0", "0", "0", "0"}, {
                FractionBox["M", "r"], "0", "0", "0"}, {"0", "0", "0", "0"}}, 
              RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> 
              Baseline, ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", "0", 
                FractionBox[
                 RowBox[{"M", " ", 
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
                 SuperscriptBox["r", "4"]]}, {"0", "0", "0", "0"}, {
               "0", "0", "0", "0"}, {
                FractionBox[
                 RowBox[{"M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "r"], "0", 
                "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
              RowAlignments -> Baseline, ColumnAlignments -> Center], 
             "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", 
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"2", " ", "M", " ", 
                    RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}]}], 
                   SuperscriptBox["r", "4"]]}], "0", "0"}, {
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"2", " ", "M"}], 
                   RowBox[{
                    RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                    SuperscriptBox["r", "2"]}]]}], "0", "0", "0"}, {
               "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
               "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
                FractionBox["M", 
                 RowBox[{
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                   SuperscriptBox["r", "2"]}]], "0"}, {"0", 
                FractionBox["M", "r"], "0", "0"}, {"0", "0", "0", "0"}}, 
              RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> 
              Baseline, ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
                FractionBox["M", 
                 RowBox[{
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                   SuperscriptBox["r", "2"]}]]}, {"0", "0", "0", "0"}, {"0", 
                FractionBox[
                 RowBox[{"M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "r"], "0", 
                "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> 
              Baseline, ColumnAlignments -> Center], "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", 
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"M", " ", 
                    RowBox[{"(", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
                   SuperscriptBox["r", "4"]]}], "0"}, {"0", "0", "0", "0"}, {
                RowBox[{"-", 
                  FractionBox["M", "r"]}], "0", "0", "0"}, {
               "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
              RowAlignments -> Baseline, ColumnAlignments -> Center], 
             "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
                RowBox[{"-", 
                  FractionBox["M", 
                   RowBox[{
                    RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                    SuperscriptBox["r", "2"]}]]}], "0"}, {"0", 
                RowBox[{"-", 
                  FractionBox["M", "r"]}], "0", "0"}, {"0", "0", "0", "0"}}, 
              RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> 
              Baseline, ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
               "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
               "0", "0", "0", 
                FractionBox[
                 RowBox[{"2", " ", "M"}], "r"]}, {"0", "0", 
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"2", " ", "M", " ", 
                    SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "r"]}], 
                "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> 
              Baseline, ColumnAlignments -> Center], "\[NoBreak]", ")"}]}, {
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", "0", 
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"M", " ", 
                    RowBox[{"(", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
                   SuperscriptBox["r", "4"]]}]}, {"0", "0", "0", "0"}, {
               "0", "0", "0", "0"}, {
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"M", " ", 
                    SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "r"]}], 
                "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
              RowAlignments -> Baseline, ColumnAlignments -> Center], 
             "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
                RowBox[{"-", 
                  FractionBox["M", 
                   RowBox[{
                    RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                    SuperscriptBox["r", "2"]}]]}]}, {"0", "0", "0", "0"}, {
               "0", 
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"M", " ", 
                    SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "r"]}], 
                "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
              RowAlignments -> Baseline, ColumnAlignments -> Center], 
             "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
               "0", "0", "0", 
                RowBox[{"-", 
                  FractionBox[
                   RowBox[{"2", " ", "M"}], "r"]}]}, {"0", "0", 
                FractionBox[
                 RowBox[{"2", " ", "M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "r"], 
                "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> 
              Baseline, ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
           RowBox[{"(", "\[NoBreak]", 
             
             GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
               "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
              ColumnSpacings -> 1, RowAlignments -> Baseline, 
              ColumnAlignments -> Center], "\[NoBreak]", ")"}]}}, RowSpacings -> 
         1, ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], "\[InvisibleSpace]", 
   TemplateBox[{
     SubscriptBox["\"R\"", 
      TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
          "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], "\[InvisibleSpace]", 
   TemplateBox[{"\"R\"", "\"=\"", 
     TagBox["0", 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"], "\[InvisibleSpace]", 
   TemplateBox[{
     SubscriptBox["\"G\"", 
      TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\""}, "RowDefault"]], "\"=\"", 
     TagBox[
      RowBox[{"(", "\[NoBreak]", 
        GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
          "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
         ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
         Center], "\[NoBreak]", ")"}], 
      Function[BoxForm`e$, 
       MatrixForm[BoxForm`e$]]]},
    "RowDefault"]}],
  SequenceForm[
   Row[{
     Superscript[
      Subscript["R", 
       Row[{"\[Mu]", "\[Nu]", "\[Sigma]"}]], 
      Row[{"\[Rho]"}]], "=", 
     MatrixForm[{{{{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 
        0}}, {{0, 
          2 $CellContext`M (
           2 $CellContext`M - $CellContext`r) $CellContext`r^(-4), 0, 0}, {
         2 $CellContext`M (
            2 $CellContext`M - $CellContext`r)^(-1) $CellContext`r^(-2), 0, 0,
           0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, {{
         0, 0, $CellContext`M $CellContext`r^(-4) ((-2) $CellContext`M + \
$CellContext`r), 0}, {0, 0, 0, 0}, {$CellContext`M/$CellContext`r, 0, 0, 0}, {
         0, 0, 0, 0}}, {{
         0, 0, 0, $CellContext`M $CellContext`r^(-4) ((-2) $CellContext`M + \
$CellContext`r)}, {0, 0, 0, 0}, {0, 0, 0, 
         0}, {$CellContext`M $CellContext`r^(-1) Sin[$CellContext`\[Theta]]^2,
           0, 0, 0}}}, {{{
         0, (-2) $CellContext`M (
           2 $CellContext`M - $CellContext`r) $CellContext`r^(-4), 0, 
          0}, {(-2) $CellContext`M (
            2 $CellContext`M - $CellContext`r)^(-1) $CellContext`r^(-2), 0, 0,
           0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 
        0, 0, 0}, {0, 0, 0, 
        0}}, {{0, 0, 0, 0}, {
         0, 0, $CellContext`M (
            2 $CellContext`M - $CellContext`r)^(-1) $CellContext`r^(-2), 0}, {
         0, $CellContext`M/$CellContext`r, 0, 0}, {0, 0, 0, 0}}, {{0, 0, 0, 
         0}, {0, 0, 
          0, $CellContext`M (
            2 $CellContext`M - $CellContext`r)^(-1) $CellContext`r^(-2)}, {0, 
         0, 0, 0}, {
         0, $CellContext`M $CellContext`r^(-1) Sin[$CellContext`\[Theta]]^2, 
          0, 0}}}, {{{
         0, 0, -$CellContext`M $CellContext`r^(-4) ((-2) $CellContext`M + \
$CellContext`r), 0}, {0, 0, 0, 
         0}, {-$CellContext`M/$CellContext`r, 0, 0, 0}, {0, 0, 0, 0}}, {{0, 0,
          0, 0}, {
         0, 0, -$CellContext`M (
            2 $CellContext`M - $CellContext`r)^(-1) $CellContext`r^(-2), 0}, {
         0, -$CellContext`M/$CellContext`r, 0, 0}, {0, 0, 0, 0}}, {{0, 0, 0, 
        0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 
        0}}, {{0, 0, 0, 0}, {0, 0, 0, 0}, {
         0, 0, 0, 2 $CellContext`M/$CellContext`r}, {
         0, 0, (-2) $CellContext`M $CellContext`r^(-1) 
          Sin[$CellContext`\[Theta]]^2, 0}}}, {{{
         0, 0, 0, -$CellContext`M $CellContext`r^(-4) ((-2) $CellContext`M + \
$CellContext`r)}, {0, 0, 0, 0}, {0, 0, 0, 
         0}, {-$CellContext`M $CellContext`r^(-1) 
          Sin[$CellContext`\[Theta]]^2, 0, 0, 0}}, {{0, 0, 0, 0}, {
         0, 0, 0, -$CellContext`M (
            2 $CellContext`M - $CellContext`r)^(-1) $CellContext`r^(-2)}, {0, 
         0, 0, 0}, {
         0, -$CellContext`M $CellContext`r^(-1) Sin[$CellContext`\[Theta]]^2, 
          0, 0}}, {{0, 0, 0, 0}, {0, 0, 0, 0}, {
         0, 0, 0, (-2) $CellContext`M/$CellContext`r}, {
         0, 0, 2 $CellContext`M $CellContext`r^(-1) 
          Sin[$CellContext`\[Theta]]^2, 0}}, {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 
        0, 0, 0}, {0, 0, 0, 0}}}}]}], 
   Row[{
     Subscript["R", 
      Row[{"\[Mu]", "\[Nu]"}]], "=", 
     MatrixForm[{{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}]}], 
   Row[{"R", "=", 
     MatrixForm[0]}], 
   Row[{
     Subscript["G", 
      Row[{"\[Mu]", "\[Nu]"}]], "=", 
     MatrixForm[{{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}]}]],
  Editable->False]], "Print",
 CellChangeTimes->{{3.88320689054142*^9, 3.8832069168419847`*^9}, {
   3.883206954767988*^9, 3.8832069642819614`*^9}, {3.8850684969078584`*^9, 
   3.8850685026076717`*^9}, {3.885192068679581*^9, 3.885192088226982*^9}, 
   3.8864593113633747`*^9, 3.886488330845155*^9, 3.892189312942941*^9},
 CellLabel->
  "\:6b63\:5728\:8ba1\:7b97In[11]:=",ExpressionUUID->"c310a380-76d7-4e7b-9326-\
cbb65efaad27"]
}, Open  ]],

Cell[TextData[{
 Cell[BoxData[
  FormBox[
   RowBox[{
    RowBox[{
    "Because", " ", "Schwarzschild", " ", "metric", " ", "is", " ", "a", " ", 
     "solution", " ", "of", " ", 
     SubscriptBox["R", "ab"]}], "=", "0"}], TraditionalForm]],ExpressionUUID->
  "133c98f1-6500-4b54-89a4-6cdada57cc11"],
 ", So Ricci Tensor, Ricci Scalar and Einstein Tensor all vanish, but Riemann \
Tensor exists, which shows that the space-time is curved."
}], "Text",
 CellChangeTimes->{{3.883206983107546*^9, 3.88320707655197*^9}, {
  3.8837119250612836`*^9, 3.883712023058179*^9}, {3.885250418126098*^9, 
  3.885250418126098*^9}, {3.8863667471592164`*^9, 
  3.8863667471592164`*^9}},ExpressionUUID->"02fa758c-a340-4506-9d19-\
49815181ce1b"],

Cell["Then, calculate the Weyl Tensor with Schwarzschild metric:", "Text",
 CellChangeTimes->{{3.8852503623875494`*^9, 
  3.8852504316308246`*^9}},ExpressionUUID->"6a7c37b4-b64a-4ef3-82ad-\
099bd24295f1"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcTensor", "[", "\"\<WeylTensor\>\"", "]"}], "//", 
  "Simplify"}]], "Input",
 CellLabel->"In[12]:=",ExpressionUUID->"1716b6d6-729d-427f-89e7-6ebbcc105aff"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\"C\"", 
    TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\"", "\"\[Sigma]\"", "\"\[Rho]\""}, 
     "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"2", " ", "M"}], 
                 SuperscriptBox["r", "3"]]}], "0", "0"}, {
              FractionBox[
               RowBox[{"2", " ", "M"}], 
               SuperscriptBox["r", "3"]], "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0"}, {"0", "0", "0", "0"}, {
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0", "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}], " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               SuperscriptBox["r", "2"]]}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               SuperscriptBox["r", "2"]], "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              FractionBox[
               RowBox[{"2", " ", "M"}], 
               SuperscriptBox["r", "3"]], "0", "0"}, {
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"2", " ", "M"}], 
                 SuperscriptBox["r", "3"]]}], "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
              FractionBox["M", 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]], "0"}, {"0", 
              RowBox[{"-", 
                FractionBox["M", 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}], "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]]}, {
             "0", "0", "0", "0"}, {"0", 
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}], "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0"}, {"0", "0", "0", "0"}, {
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0", "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
              RowBox[{"-", 
                FractionBox["M", 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}], "0"}, {"0", 
              FractionBox["M", 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]], "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", 
              RowBox[{"2", " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"0", "0", 
              RowBox[{
                RowBox[{"-", "2"}], " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               SuperscriptBox["r", "2"]]}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"M", " ", 
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
                 SuperscriptBox["r", "2"]]}], "0", "0", "0"}}, RowSpacings -> 
            1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}]}, {
             "0", "0", "0", "0"}, {"0", 
              FractionBox[
               RowBox[{"M", " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]], "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", 
              RowBox[{
                RowBox[{"-", "2"}], " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"0", "0", 
              RowBox[{"2", " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}}, RowSpacings -> 1, ColumnSpacings -> 
       1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
      "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{3.885250437232812*^9, 3.8864593143088465`*^9, 
  3.8921893161649065`*^9},
 CellLabel->"Out[12]=",ExpressionUUID->"4a602bac-796a-4a2d-a104-628a16e69fcb"]
}, Open  ]],

Cell[TextData[{
 "Also, we can use the definition of Weyl Tensor: ",
 Cell[BoxData[
  RowBox[{
   SubscriptBox["C", "abcd"], "=", 
   RowBox[{
    RowBox[{
     SuperscriptBox[
      SubscriptBox["R", "abc"], "e"], 
     SubscriptBox["g", "de"]}], "-", 
    RowBox[{
     FractionBox["2", 
      RowBox[{"n", "-", "2"}]], 
     RowBox[{"(", 
      RowBox[{
       RowBox[{
        SubscriptBox["g", 
         RowBox[{"a", "[", "c"}]], 
        SubscriptBox["R", 
         RowBox[{
          RowBox[{"d", "]"}], "b"}]]}], "-", 
       RowBox[{
        SubscriptBox["g", 
         RowBox[{"b", "[", "c"}]], 
        SubscriptBox["R", 
         RowBox[{
          RowBox[{"d", "]"}], "a"}]]}]}], ")"}]}], "+", 
    RowBox[{
     FractionBox["2", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{"n", "-", "1"}], ")"}], 
       RowBox[{"(", 
        RowBox[{"n", "-", "2"}], ")"}]}]], 
     SubscriptBox["Rg", 
      RowBox[{"a", "[", "c"}]], 
     SubscriptBox["g", 
      RowBox[{
       RowBox[{"d", "]"}], "b"}]]}]}]}]], "InlineCode",ExpressionUUID->
  "96ebea68-1050-48c8-9133-a15e79f2e32e"],
 "\nAt first, calculate the Riemann Tensor, Ricci Tensor and Ricci Scalar, \
and the dimension n is 4 here."
}], "Text",
 CellChangeTimes->{{3.885250445514185*^9, 
  3.8852505411167297`*^9}},ExpressionUUID->"c8abb1f4-5cbd-4519-921f-\
c58c51016154"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"SetTensor", "[", 
    RowBox[{
     SuperscriptBox[
      SubscriptBox["R", "abc"], "d"], ",", 
     RowBox[{
      RowBox[{"STCalcTensor", "[", "\"\<RiemannTensor\>\"", "]"}], "[", 
      RowBox[{"[", 
       RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}], "]"}], ";"}], 
  RowBox[{"(*", 
   RowBox[{"Riemann", " ", "Tensor"}], "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"SetTensor", "[", 
    RowBox[{
     SubscriptBox["R", "ab"], ",", 
     RowBox[{
      RowBox[{"STCalcTensor", "[", "\"\<RicciTensor\>\"", "]"}], "[", 
      RowBox[{"[", 
       RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}]}], "]"}], ";"}], 
  RowBox[{"(*", 
   RowBox[{"Ricci", " ", "Tensor"}], "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"rs", "=", 
    RowBox[{"Simplify", "[", 
     RowBox[{
      RowBox[{"STCalcTensor", "[", "\"\<RicciScalar\>\"", "]"}], "[", 
      RowBox[{"[", 
       RowBox[{"1", ",", "3", ",", "1"}], "]"}], "]"}], "]"}]}], ";"}], 
  RowBox[{"(*", 
   RowBox[{"Ricci", " ", "Scalar"}], "*)"}]}]}], "Input",
 CellChangeTimes->{{3.885250543805835*^9, 3.885250556152969*^9}},
 CellLabel->"In[13]:=",ExpressionUUID->"105a846d-a6bb-407e-8007-06019265f671"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"weylDef", "=", 
    RowBox[{
     RowBox[{
      SubscriptBox["g", "de"], 
      SuperscriptBox[
       SubscriptBox["R", "abc"], "e"]}], "-", 
     RowBox[{
      FractionBox["2", 
       RowBox[{"4", "-", "2"}]], 
      RowBox[{"STAntiSymmetrize", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
          SubscriptBox["g", "ac"], 
          SubscriptBox["R", "db"]}], "-", 
         RowBox[{
          SubscriptBox["g", "bc"], 
          SubscriptBox["R", "da"]}]}], ",", 
        RowBox[{"{", 
         RowBox[{"c", ",", "d"}], "}"}]}], "]"}]}], "+", 
     RowBox[{
      FractionBox["2", 
       RowBox[{
        RowBox[{"(", 
         RowBox[{"4", "-", "1"}], ")"}], 
        RowBox[{"(", 
         RowBox[{"4", "-", "2"}], ")"}]}]], "*", "rs", "*", 
      RowBox[{"STAntiSymmetrize", "[", 
       RowBox[{
        RowBox[{
         SubscriptBox["g", "ac"], 
         SubscriptBox["g", "db"]}], ",", 
        RowBox[{"{", 
         RowBox[{"c", ",", "d"}], "}"}]}], "]"}]}]}]}], ";"}], 
  RowBox[{"(*", 
   RowBox[{"The", " ", "definition", " ", "of", " ", "Weyl", " ", "Tensor"}], 
   "*)"}]}]], "Input",
 CellChangeTimes->{{3.8852505673316107`*^9, 3.8852505750828743`*^9}},
 CellLabel->"In[16]:=",ExpressionUUID->"d1cb87ca-b66b-4568-9678-574d0e5c8d69"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcComponents", "[", "weylDef", "]"}], "//", 
  "Simplify"}]], "Input",
 CellChangeTimes->{3.8921868914696093`*^9},
 CellLabel->"In[17]:=",ExpressionUUID->"c3d4787a-7351-40b1-a020-3ec5db66f2e6"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\[ScriptCapitalT]", 
    TemplateBox[{"\[Alpha]", "\[Beta]", "\[Gamma]", "\[Delta]"}, 
     "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"2", " ", "M"}], 
                 SuperscriptBox["r", "3"]]}], "0", "0"}, {
              FractionBox[
               RowBox[{"2", " ", "M"}], 
               SuperscriptBox["r", "3"]], "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0"}, {"0", "0", "0", "0"}, {
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0", "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}], " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               SuperscriptBox["r", "2"]]}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               SuperscriptBox["r", "2"]], "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", 
              FractionBox[
               RowBox[{"2", " ", "M"}], 
               SuperscriptBox["r", "3"]], "0", "0"}, {
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"2", " ", "M"}], 
                 SuperscriptBox["r", "3"]]}], "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
              FractionBox["M", 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]], "0"}, {"0", 
              RowBox[{"-", 
                FractionBox["M", 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}], "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]]}, {
             "0", "0", "0", "0"}, {"0", 
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}], "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0"}, {"0", "0", "0", "0"}, {
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{
                    RowBox[{"-", "2"}], " ", "M"}], "+", "r"}], ")"}]}], 
               SuperscriptBox["r", "2"]], "0", "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", 
              RowBox[{"-", 
                FractionBox["M", 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}], "0"}, {"0", 
              FractionBox["M", 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]], "0", "0"}, {
             "0", "0", "0", "0"}}, RowSpacings -> 1, ColumnSpacings -> 1, 
            RowAlignments -> Baseline, ColumnAlignments -> Center], 
           "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", 
              RowBox[{"2", " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"0", "0", 
              RowBox[{
                RowBox[{"-", "2"}], " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", 
              FractionBox[
               RowBox[{"M", " ", 
                 RowBox[{"(", 
                   RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               SuperscriptBox["r", "2"]]}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"M", " ", 
                   RowBox[{"(", 
                    RowBox[{
                    RowBox[{"2", " ", "M"}], "-", "r"}], ")"}], " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
                 SuperscriptBox["r", "2"]]}], "0", "0", "0"}}, RowSpacings -> 
            1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", 
              RowBox[{"-", 
                FractionBox[
                 RowBox[{"M", " ", 
                   SuperscriptBox[
                    RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
                 RowBox[{
                   RowBox[{"2", " ", "M"}], "-", "r"}]]}]}, {
             "0", "0", "0", "0"}, {"0", 
              FractionBox[
               RowBox[{"M", " ", 
                 SuperscriptBox[
                  RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], 
               RowBox[{
                 RowBox[{"2", " ", "M"}], "-", "r"}]], "0", "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", 
              RowBox[{
                RowBox[{"-", "2"}], " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}, {"0", "0", 
              RowBox[{"2", " ", "M", " ", "r", " ", 
                SuperscriptBox[
                 RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}], "0"}}, 
            RowSpacings -> 1, ColumnSpacings -> 1, RowAlignments -> Baseline, 
            ColumnAlignments -> Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}}, RowSpacings -> 1, ColumnSpacings -> 
       1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
      "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{3.885250595058401*^9, 3.8864593297155447`*^9, 
  3.892189322110911*^9},
 CellLabel->"Out[17]=",ExpressionUUID->"e488acdd-a870-4518-8065-a4a2f85f7be9"]
}, Open  ]],

Cell["We can see they are equal.", "Text",
 CellChangeTimes->{{3.892189339345851*^9, 
  3.8921893445570917`*^9}},ExpressionUUID->"9d295dce-058a-45ce-931d-\
e9082514e4a6"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Isotropic Observer - Robertson-Walker Metric", "Section",
 CellChangeTimes->{{3.883623003435071*^9, 3.8836230157673693`*^9}, {
  3.883641826932126*^9, 3.883641840551838*^9}, {3.8837120380203753`*^9, 
  3.883712053579627*^9}},ExpressionUUID->"ebef2e91-e2b1-4c03-beed-\
427a5410a391"],

Cell[BoxData[
 RowBox[{"SetMetric", "[", 
  RowBox[{
   RowBox[{"DiagonalMatrix", "[", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"-", "1"}], ",", 
      FractionBox[
       RowBox[{
        RowBox[{"a", "[", "t", "]"}], "^", "2"}], 
       RowBox[{"1", "-", 
        RowBox[{"k", " ", 
         RowBox[{"r", "^", "2"}]}]}]], ",", 
      RowBox[{
       RowBox[{
        RowBox[{"a", "[", "t", "]"}], "^", "2"}], "*", 
       RowBox[{"r", "^", "2"}]}], ",", 
      RowBox[{
       RowBox[{
        RowBox[{"a", "[", "t", "]"}], "^", "2"}], "*", 
       RowBox[{"r", "^", "2"}], "*", 
       RowBox[{
        RowBox[{"Sin", "[", "\[Theta]", "]"}], "^", "2"}]}]}], "}"}], "]"}], 
   ",", " ", 
   RowBox[{"{", 
    RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[CurlyPhi]"}], "}"}]}], 
  "]"}]], "Input",
 CellChangeTimes->{{3.883623019270074*^9, 3.883623141625085*^9}},
 CellLabel->
  "In[156]:=",ExpressionUUID->"c4b912bb-03d8-489a-a616-72c95efd9e59"],

Cell["\<\
Here it is found that the Weyl Tensor of Robertson-Walker Metric vanishes, \
which means the Robertson-Walker metric is conformally flat.\
\>", "Text",
 CellChangeTimes->{{3.8854600193784466`*^9, 3.8854601222229605`*^9}, {
  3.88676133350148*^9, 3.886761338345684*^9}, {3.886927819012485*^9, 
  3.8869278798153715`*^9}},ExpressionUUID->"3d172752-bec7-457d-9747-\
4836ac55f86f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"STCalcTensor", "[", "\"\<WeylTensor\>\"", "]"}], "//", 
  "Simplify"}]], "Input",
 CellChangeTimes->{{3.885460124297468*^9, 3.8854601665254965`*^9}},
 CellLabel->
  "In[157]:=",ExpressionUUID->"d582dbac-877f-49ae-9184-d5e78eeb3cdc"],

Cell[BoxData[
 TemplateBox[{
   SubscriptBox["\"C\"", 
    TemplateBox[{"\"\[Mu]\"", "\"\[Nu]\"", "\"\[Sigma]\"", "\"\[Rho]\""}, 
     "RowDefault"]], "\"=\"", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", 
      GridBox[{{
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}, {
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}], 
         RowBox[{"(", "\[NoBreak]", 
           
           GridBox[{{"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {
             "0", "0", "0", "0"}, {"0", "0", "0", "0"}}, RowSpacings -> 1, 
            ColumnSpacings -> 1, RowAlignments -> Baseline, ColumnAlignments -> 
            Center], "\[NoBreak]", ")"}]}}, RowSpacings -> 1, ColumnSpacings -> 
       1, RowAlignments -> Baseline, ColumnAlignments -> Center], 
      "\[NoBreak]", ")"}], 
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]},
  "RowDefault"]], "Output",
 CellChangeTimes->{{3.885460163117787*^9, 3.8854601668757257`*^9}, 
   3.886459337215943*^9, 3.8921894233148317`*^9, 3.8921909463869686`*^9},
 CellLabel->
  "Out[157]=",ExpressionUUID->"d5c886a5-5713-4e88-850c-230e5a909ba8"]
}, Open  ]]
}, Open  ]]
}, Open  ]]
},
WindowSize->{1141.2, 574.8},
WindowMargins->{{
  Automatic, -5.399999999999864}, {-5.399999999999977, Automatic}},
Magnification:>1. Inherited,
FrontEndVersion->"13.2 for Microsoft Windows (64-bit) (2023\:5e741\:670830\
\:65e5)",
StyleDefinitions->"Default.nb",
ExpressionUUID->"3bb94807-8dec-417d-81d6-0d0f557de3b2"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[580, 22, 207, 4, 98, "Title",ExpressionUUID->"992f1165-6867-4b9b-9b9b-e95a71e152ea"],
Cell[CellGroupData[{
Cell[812, 30, 161, 3, 67, "Section",ExpressionUUID->"f895ce69-f457-4698-b2e6-18f38e04795c"],
Cell[976, 35, 839, 14, 131, "Abstract",ExpressionUUID->"d36396cf-8bc6-46c6-9a78-bd0d35efaac3"]
}, Open  ]],
Cell[CellGroupData[{
Cell[1852, 54, 216, 4, 67, "Section",ExpressionUUID->"cd6311c4-4fd7-49b8-b6bd-bb6463c3a388"],
Cell[CellGroupData[{
Cell[2093, 62, 185, 3, 54, "Subsection",ExpressionUUID->"6576790c-9f70-4ead-befd-53a043c5c7c9"],
Cell[2281, 67, 842, 17, 35, "Text",ExpressionUUID->"330e8f1c-4728-483f-9114-cb105092065c"],
Cell[3126, 86, 398, 9, 43, "Input",ExpressionUUID->"5be65ce5-ee35-4e15-90c0-2f0ac0e85fcb"]
}, Open  ]],
Cell[CellGroupData[{
Cell[3561, 100, 219, 4, 54, "Subsection",ExpressionUUID->"be830d1a-209d-4a77-b294-177f90002875"],
Cell[3783, 106, 255, 4, 35, "Text",ExpressionUUID->"4a8e168f-88d9-454b-bec2-7f49a371578b"],
Cell[4041, 112, 691, 16, 43, "Input",ExpressionUUID->"56e704cd-2e17-4ea2-86e4-b7fca854df1c"],
Cell[4735, 130, 426, 8, 58, "Text",ExpressionUUID->"82cf8e41-158d-4104-b64b-9ea43e9b4184"],
Cell[5164, 140, 197, 3, 28, "Input",ExpressionUUID->"e0fc13ed-95c3-4209-9a62-d845bf3cbb39"],
Cell[5364, 145, 218, 3, 43, "Input",ExpressionUUID->"67169ae6-624e-4aa0-acac-2d2ba4354708"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[5631, 154, 177, 3, 67, "Section",ExpressionUUID->"5cf86fe3-7899-43e8-8567-7f8a98eb525f"],
Cell[5811, 159, 215, 5, 35, "Text",ExpressionUUID->"d0fa4f5c-63d2-4d54-8f8c-1ea8ab9d952c"],
Cell[CellGroupData[{
Cell[6051, 168, 195, 3, 28, "Input",ExpressionUUID->"483b6952-d6a6-429d-abbb-8b40d203d971"],
Cell[6249, 173, 13574, 324, 202, "Output",ExpressionUUID->"ab731e29-59b1-4353-95c2-5603e87b1362"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[19872, 503, 213, 4, 67, "Section",ExpressionUUID->"2937bdc0-83bb-48db-99d1-4c2d0a03f2f3"],
Cell[CellGroupData[{
Cell[20110, 511, 258, 4, 54, "Subsection",ExpressionUUID->"2cf0547c-22e1-44c9-8430-8bf337689341"],
Cell[20371, 517, 987, 25, 81, "Text",ExpressionUUID->"1211a31b-f51e-487a-890d-faf234cfc72c"],
Cell[CellGroupData[{
Cell[21383, 546, 500, 11, 33, "Input",ExpressionUUID->"29056a03-1185-4c10-9a32-4b7545eeeeb0"],
Cell[21886, 559, 700, 19, 32, "Output",ExpressionUUID->"d1743b8f-c520-40f4-87ee-9f467e972c7f"]
}, Open  ]],
Cell[22601, 581, 510, 11, 58, "Text",ExpressionUUID->"5c00e9c1-fcc9-4fa4-9e4e-e96bcd3112bc"]
}, Open  ]],
Cell[CellGroupData[{
Cell[23148, 597, 232, 4, 54, "Subsection",ExpressionUUID->"9b23f368-08a7-4775-a5d3-53455ab635be"],
Cell[23383, 603, 307, 6, 35, "Text",ExpressionUUID->"1b3073df-8d81-4f79-9ea0-c6c12ec34818"],
Cell[23693, 611, 449, 13, 33, "Input",ExpressionUUID->"5e554bb4-b06a-431f-b238-a8741b6d89fc"],
Cell[CellGroupData[{
Cell[24167, 628, 302, 4, 28, "Input",ExpressionUUID->"3a927a4f-bcfb-4d1b-a76c-35fc8966d135"],
Cell[24472, 634, 762, 20, 32, "Output",ExpressionUUID->"081a0f15-4ea5-404c-91ef-eeecb8a7550c"]
}, Open  ]],
Cell[CellGroupData[{
Cell[25271, 659, 203, 3, 43, "Input",ExpressionUUID->"dd274bfe-a847-4cfd-877a-0fda5780fa70"],
Cell[25477, 664, 971, 28, 46, "Output",ExpressionUUID->"84609748-2a3c-4b1c-ad47-9add21b43b40"]
}, Open  ]],
Cell[26463, 695, 519, 11, 58, "Text",ExpressionUUID->"706abe68-fed2-4589-a5ba-0b039ce905b8"],
Cell[CellGroupData[{
Cell[27007, 710, 205, 3, 28, "Input",ExpressionUUID->"5b513699-a459-411e-9a07-bc84f71818d4"],
Cell[27215, 715, 585, 18, 48, "Output",ExpressionUUID->"59a66ba7-19bc-44e9-8bbe-bf5f4a5c49fd"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[27849, 739, 228, 4, 54, "Subsection",ExpressionUUID->"7b7b8ec5-9d82-44b5-b26a-df80bc04e09b"],
Cell[28080, 745, 349, 11, 35, "Text",ExpressionUUID->"3fae47da-3065-40a5-94e8-aacf7c101ce9"],
Cell[CellGroupData[{
Cell[28454, 760, 351, 7, 28, "Input",ExpressionUUID->"fae79243-ef81-4a88-b67b-55119a154aa3"],
Cell[28808, 769, 3939, 115, 88, "Output",ExpressionUUID->"0e94458b-60a7-418e-947a-5ded7e624634"]
}, Open  ]],
Cell[CellGroupData[{
Cell[32784, 889, 204, 3, 28, "Input",ExpressionUUID->"8157e03e-e7da-43fb-b135-e70b1d87a12b"],
Cell[32991, 894, 2876, 87, 62, "Output",ExpressionUUID->"0cd2d9d3-3dc2-47f7-9115-da1af8dad711"]
}, Open  ]],
Cell[CellGroupData[{
Cell[35904, 986, 303, 6, 28, "Input",ExpressionUUID->"7426e480-e151-4fd9-b473-97f25450df99"],
Cell[36210, 994, 3918, 115, 88, "Output",ExpressionUUID->"97647cef-cd1a-453b-aab9-ba352671ab85"]
}, Open  ]],
Cell[CellGroupData[{
Cell[40165, 1114, 202, 3, 28, "Input",ExpressionUUID->"18847be7-305f-44c0-b66f-dfefd3ea5a44"],
Cell[40370, 1119, 2859, 87, 62, "Output",ExpressionUUID->"a292ee60-5da5-4be1-9212-8fc22277fe1a"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[43278, 1212, 171, 3, 54, "Subsection",ExpressionUUID->"e14d72b8-4e17-417b-baec-843a1ed3c5fe"],
Cell[43452, 1217, 323, 8, 35, "Text",ExpressionUUID->"6fad6f8d-217e-470a-89b5-f72faecfadd5"],
Cell[43778, 1227, 281, 5, 28, "Input",ExpressionUUID->"ec917d1b-509f-4dcb-abfa-9935ca95b34a"],
Cell[44062, 1234, 201, 3, 35, "Text",ExpressionUUID->"34dbf6df-e625-404e-8c7b-774b0a7c84bf"]
}, Open  ]],
Cell[CellGroupData[{
Cell[44300, 1242, 291, 4, 54, "Subsection",ExpressionUUID->"30b481f7-43d3-489c-bc46-fc3a98ad6a21"],
Cell[44594, 1248, 826, 21, 65, "Text",ExpressionUUID->"fe7b452f-b02f-46a7-a4b0-f726c5fff5c5"],
Cell[45423, 1271, 212, 3, 50, "Code",ExpressionUUID->"ac94f8f3-7f7c-4e9a-9625-75dd6f95b04d"],
Cell[45638, 1276, 1969, 41, 248, "Text",ExpressionUUID->"eea6bca6-a2ae-459a-b46d-773cca0b6a02"],
Cell[47610, 1319, 506, 13, 50, "Code",ExpressionUUID->"fbf22c78-76f0-4a1f-80bd-60b63fc7cb0c"],
Cell[48119, 1334, 1224, 27, 145, "Text",ExpressionUUID->"cab85fa1-bc68-4388-b186-82c5ee5962ad"],
Cell[49346, 1363, 483, 13, 50, "Code",ExpressionUUID->"2730369a-2c9b-434d-89ca-74ebbb69d908"],
Cell[49832, 1378, 644, 11, 35, "Text",ExpressionUUID->"0d79c93d-dd11-4cbd-ac5a-31dc40729956"],
Cell[50479, 1391, 347, 7, 50, "Code",ExpressionUUID->"f43e9ee7-208e-4ac5-ae9d-0c848bb0d340"],
Cell[50829, 1400, 200, 3, 35, "Text",ExpressionUUID->"06d54214-a668-4133-9e8b-c4c3d8ed8448"],
Cell[CellGroupData[{
Cell[51054, 1407, 629, 17, 53, "Code",ExpressionUUID->"6da12bd1-a17b-4115-9980-ac40a73af59a"],
Cell[51686, 1426, 1538, 42, 65, "Output",ExpressionUUID->"519053b3-d401-4fde-982a-72fdc2540211"]
}, Open  ]],
Cell[53239, 1471, 736, 22, 35, "Text",ExpressionUUID->"163d2426-b70b-456b-a4e8-bb29a738327a"],
Cell[CellGroupData[{
Cell[54000, 1497, 308, 6, 50, "Code",ExpressionUUID->"cddf882c-8f54-4e8d-bd8d-7e5aeca0ecdf"],
Cell[54311, 1505, 440, 13, 46, "Output",ExpressionUUID->"9743ad00-d703-4fdb-a4c3-b19d8b4b1b80"]
}, Open  ]],
Cell[CellGroupData[{
Cell[54788, 1523, 334, 8, 50, "Code",ExpressionUUID->"ca725c2e-44b5-4872-bed9-16dc40519c23"],
Cell[55125, 1533, 412, 12, 46, "Output",ExpressionUUID->"336649a0-9512-4dd0-8a65-c2d2921b1b0b"]
}, Open  ]],
Cell[55552, 1548, 407, 8, 35, "Text",ExpressionUUID->"9aac7e6d-97ba-4e5f-9d25-1d7735d25758"],
Cell[CellGroupData[{
Cell[55984, 1560, 163, 3, 45, "Subsubsection",ExpressionUUID->"2414fd65-e60e-4e27-bec4-8488023c3ac1"],
Cell[56150, 1565, 322, 9, 35, "Text",ExpressionUUID->"00c2e145-affa-4a4d-94ca-2b0fbc93466c"],
Cell[56475, 1576, 496, 13, 50, "Code",ExpressionUUID->"1c534002-7815-4343-842d-5e64577f4cd4"],
Cell[56974, 1591, 299, 6, 35, "Text",ExpressionUUID->"aaa19bf4-855f-4dd3-a50a-d1c14b24b9b8"],
Cell[57276, 1599, 620, 17, 50, "Code",ExpressionUUID->"e1609938-fdb7-4b75-8959-d3c9510a42fd"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[57957, 1623, 157, 3, 67, "Section",ExpressionUUID->"dc7a2a6e-8e5e-4057-8486-7d80d0d59c57"],
Cell[58117, 1628, 337, 7, 35, "Text",ExpressionUUID->"7cb567fb-7ba7-42fd-95b2-1dd8111b8df5"]
}, Open  ]],
Cell[CellGroupData[{
Cell[58491, 1640, 319, 5, 67, "Section",ExpressionUUID->"40a40f9a-2726-4091-a0ac-880d37a267f4"],
Cell[CellGroupData[{
Cell[58835, 1649, 341, 5, 54, "Subsection",ExpressionUUID->"2b50e99e-85a6-4d22-b558-82889407af93"],
Cell[59179, 1656, 502, 12, 43, "Input",ExpressionUUID->"4c0176ed-f12a-4141-8286-863b36329f2d"]
}, Open  ]],
Cell[CellGroupData[{
Cell[59718, 1673, 220, 4, 54, "Subsection",ExpressionUUID->"4cabbc8c-8cf0-4809-8c62-41870e3662d4"],
Cell[59941, 1679, 1275, 37, 72, "Input",ExpressionUUID->"2511865f-9a73-48c9-9738-1ae4b269a7b4"],
Cell[CellGroupData[{
Cell[61241, 1720, 565, 12, 28, "Input",ExpressionUUID->"14010031-63e0-427a-9e55-13efb47242f9"],
Cell[61809, 1734, 3163, 81, 48, "Output",ExpressionUUID->"d52353ce-8d5e-46d4-8325-de9d4c902104"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[65021, 1821, 225, 4, 54, "Subsection",ExpressionUUID->"ab0ae260-0d80-454a-87d8-99a522f87f1c"],
Cell[65249, 1827, 547, 15, 43, "Input",ExpressionUUID->"1c324e98-b3e1-42ea-b300-5d51577358d0"],
Cell[65799, 1844, 289, 7, 35, "Text",ExpressionUUID->"122d86ab-77c7-47b7-aad5-a16e8a8534cf"],
Cell[CellGroupData[{
Cell[66113, 1855, 329, 7, 28, "Input",ExpressionUUID->"2c421eef-05f4-4eae-b215-fef9975e173d"],
Cell[66445, 1864, 3450, 88, 57, "Output",ExpressionUUID->"c4ac0052-bdc1-451c-ae6b-80a475cba71e"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[69944, 1958, 241, 4, 54, "Subsection",ExpressionUUID->"a603df65-9cdb-4b25-8302-d44545f8641d"],
Cell[70188, 1964, 1217, 33, 72, "Input",ExpressionUUID->"e8d49bce-213d-4311-b9f2-d94632c2ad01"],
Cell[71408, 1999, 327, 6, 35, "Text",ExpressionUUID->"cdf5f2a4-55e7-4904-bd95-8bc7ccf68dee"],
Cell[CellGroupData[{
Cell[71760, 2009, 1083, 32, 47, "Input",ExpressionUUID->"0652c386-fba0-4254-94b0-aa3521e8bfc4"],
Cell[72846, 2043, 1475, 36, 46, "Print",ExpressionUUID->"2dd2044c-482b-4c6f-b320-d607f07cd509"]
}, Open  ]],
Cell[74336, 2082, 319, 6, 35, "Text",ExpressionUUID->"b0e60003-a71d-4f34-b648-aeaeb080c31d"],
Cell[CellGroupData[{
Cell[74680, 2092, 553, 14, 33, "Input",ExpressionUUID->"f85abe27-0941-4bc1-9b97-d8a423cec989"],
Cell[75236, 2108, 1084, 27, 58, "Output",ExpressionUUID->"ec893482-9895-4161-90b4-a037731a3463"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[76381, 2142, 269, 4, 67, "Section",ExpressionUUID->"d4154b68-bc71-48f8-98b3-52564578e858"],
Cell[76653, 2148, 417, 10, 45, "Input",ExpressionUUID->"c4133df8-0af8-421e-a348-24c5b321f2ec"],
Cell[CellGroupData[{
Cell[77095, 2162, 265, 5, 54, "Subsection",ExpressionUUID->"f48d10e0-4b28-4dea-bc53-644381045d09"],
Cell[77363, 2169, 289, 7, 35, "Text",ExpressionUUID->"43d726b8-cf6e-4fc1-b1de-e3d59c88603e"],
Cell[CellGroupData[{
Cell[77677, 2180, 966, 28, 33, "Input",ExpressionUUID->"4d1797ac-c62e-40c9-9802-b4f0ddcb0472"],
Cell[78646, 2210, 1376, 32, 48, "Output",ExpressionUUID->"27fa37be-f085-4960-8a11-91c1380b7d0f"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[80071, 2248, 272, 6, 54, "Subsection",ExpressionUUID->"421a18a8-82a6-4f35-8bef-1c0be906e88d"],
Cell[CellGroupData[{
Cell[80368, 2258, 232, 3, 28, "Input",ExpressionUUID->"2a63c7ca-d4c1-4aff-a53f-fbf8ac19c65c"],
Cell[80603, 2263, 1658, 37, 84, "Output",ExpressionUUID->"b0e2e8f4-ccad-4ace-9443-02a18ebc75ee"]
}, Open  ]],
Cell[82276, 2303, 522, 9, 35, "Text",ExpressionUUID->"b3c04a52-daba-496d-8578-4903145f95ea"]
}, Open  ]],
Cell[CellGroupData[{
Cell[82835, 2317, 246, 4, 54, "Subsection",ExpressionUUID->"b3b6393a-c496-4840-b730-5ab9cd6d222f"],
Cell[CellGroupData[{
Cell[83106, 2325, 256, 4, 28, "Input",ExpressionUUID->"f9cdd3b4-f170-4396-bb74-7863fae18cf6"],
Cell[83365, 2331, 513, 13, 32, "Output",ExpressionUUID->"636ac98e-1edf-49e2-8da5-137d3b94d52c"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[83927, 2350, 325, 6, 54, "Subsection",ExpressionUUID->"5975062f-3d29-49e2-90f7-7bf2613ad867"],
Cell[CellGroupData[{
Cell[84277, 2360, 367, 7, 43, "Input",ExpressionUUID->"e0384c47-0e93-443a-be6a-8b8daf48eb8d"],
Cell[84647, 2369, 493, 10, 32, "Output",ExpressionUUID->"170b5c1f-d5c9-4182-a9ff-6afa90bd374c"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[85201, 2386, 418, 11, 67, "Section",ExpressionUUID->"13a82c57-1311-4633-908c-e568dcaa7d2c"],
Cell[85622, 2399, 848, 19, 45, "Input",ExpressionUUID->"4199665b-5dd7-4639-b6fc-dc08267433f9"],
Cell[CellGroupData[{
Cell[86495, 2422, 257, 4, 54, "Subsection",ExpressionUUID->"d2030c6f-88f4-4267-8edb-2f8df55ee317"],
Cell[CellGroupData[{
Cell[86777, 2430, 281, 4, 28, "Input",ExpressionUUID->"95888753-d087-4b5a-a048-793318a85902"],
Cell[87061, 2436, 2078, 46, 84, "Output",ExpressionUUID->"5a8c4b36-b9f5-4f19-9d54-fcc577ac9cd9"]
}, Open  ]],
Cell[89154, 2485, 553, 14, 58, "Input",ExpressionUUID->"b3137b32-979d-47ff-ba33-a75712a4354c"],
Cell[89710, 2501, 344, 9, 35, "Text",ExpressionUUID->"708366c7-b7ba-4849-847b-6f90004d3a09"],
Cell[CellGroupData[{
Cell[90079, 2514, 264, 5, 43, "Input",ExpressionUUID->"4a480b78-6fa9-4b21-8d47-5513fa0379c1"],
Cell[90346, 2521, 1764, 48, 66, "Output",ExpressionUUID->"71e43f8e-831e-4e30-a9e1-e7c71c131a9c"]
}, Open  ]],
Cell[92125, 2572, 258, 8, 35, "Text",ExpressionUUID->"eaa7e30b-4c69-44ce-adb5-f94ae73e8be7"],
Cell[CellGroupData[{
Cell[92408, 2584, 213, 4, 28, "Input",ExpressionUUID->"05d79fd6-e8af-4495-9b3c-4db00fe9319f"],
Cell[92624, 2590, 3307, 87, 84, "Output",ExpressionUUID->"ce8ae857-8cb5-42a3-a3e9-96b6ac857c5a"]
}, Open  ]],
Cell[95946, 2680, 516, 12, 81, "Text",ExpressionUUID->"15eff4e8-b408-499f-b4b0-4f8a6a9980fc"],
Cell[CellGroupData[{
Cell[96487, 2696, 267, 6, 43, "Input",ExpressionUUID->"362d31f9-715d-42ef-b4b0-9dd0b86e9483"],
Cell[96757, 2704, 251, 3, 32, "Output",ExpressionUUID->"90602321-172c-47ab-beec-f1eed25a76cf"]
}, Open  ]],
Cell[CellGroupData[{
Cell[97045, 2712, 247, 5, 28, "Input",ExpressionUUID->"2409ba32-da06-4225-b11e-39229f09ac58"],
Cell[97295, 2719, 800, 23, 32, "Output",ExpressionUUID->"55f6207a-ac37-46ab-bc35-62273b3064d4"]
}, Open  ]],
Cell[98110, 2745, 172, 3, 35, "Text",ExpressionUUID->"797eb81a-3532-4fb6-ab76-c975ebb4b10b"]
}, Open  ]],
Cell[CellGroupData[{
Cell[98319, 2753, 251, 4, 54, "Subsection",ExpressionUUID->"82e5a9ed-eb43-4276-8387-1154781deee9"],
Cell[CellGroupData[{
Cell[98595, 2761, 229, 3, 28, "Input",ExpressionUUID->"b837fef5-99d1-41b1-885c-6a91286299bf"],
Cell[98827, 2766, 2165, 45, 88, "Output",ExpressionUUID->"2758231e-f364-4df2-8f36-13bde1752e9f"]
}, Open  ]],
Cell[101007, 2814, 599, 15, 28, "Input",ExpressionUUID->"bc633692-a962-41b2-a93a-6035e07498da"]
}, Open  ]],
Cell[CellGroupData[{
Cell[101643, 2834, 322, 5, 54, "Subsection",ExpressionUUID->"3d70a709-d9c7-43b2-a1da-4ae14c9ffc7c"],
Cell[101968, 2841, 508, 14, 48, "Input",ExpressionUUID->"51cb0a24-81ea-4746-af31-976db3cda06e"],
Cell[CellGroupData[{
Cell[102501, 2859, 980, 25, 33, "Input",ExpressionUUID->"aa0c21e5-e65c-4a67-9f59-cedd86c4f440"],
Cell[103484, 2886, 3659, 83, 88, "Output",ExpressionUUID->"c4b16bc4-9bfe-44db-b08b-0d00394ce36a"]
}, Open  ]],
Cell[CellGroupData[{
Cell[107180, 2974, 1298, 41, 33, "Input",ExpressionUUID->"7ec22c45-4ecc-490e-a1cc-4f7cce3da5a1"],
Cell[108481, 3017, 3539, 82, 102, "Output",ExpressionUUID->"462c96d3-cafb-474c-ba5f-761e66585ada"]
}, Open  ]],
Cell[112035, 3102, 337, 7, 35, "Text",ExpressionUUID->"3143aafc-0fba-4d49-8a28-094c4f319025"]
}, Open  ]],
Cell[CellGroupData[{
Cell[112409, 3114, 246, 4, 54, "Subsection",ExpressionUUID->"61684444-8905-4ce1-8091-a9430c9c5a44"],
Cell[CellGroupData[{
Cell[112680, 3122, 234, 4, 28, "Input",ExpressionUUID->"4626a2b1-7696-47b3-9162-bc6918ff785e"],
Cell[112917, 3128, 854, 20, 50, "Output",ExpressionUUID->"829a47e5-4708-451f-a60e-b37c0805f7de"]
}, Open  ]],
Cell[113786, 3151, 534, 14, 58, "Input",ExpressionUUID->"544fd9ac-fad6-4a14-9533-94992e1e037a"]
}, Open  ]],
Cell[CellGroupData[{
Cell[114357, 3170, 230, 4, 54, "Subsection",ExpressionUUID->"5a5ef315-c6bf-4927-878a-d268ea411a0b"],
Cell[CellGroupData[{
Cell[114612, 3178, 234, 4, 28, "Input",ExpressionUUID->"5bbe4656-747a-42c0-9361-c61649628f20"],
Cell[114849, 3184, 546, 14, 49, "Output",ExpressionUUID->"26eb93a7-cc18-46bc-be30-a71284095817"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[115444, 3204, 250, 4, 54, "Subsection",ExpressionUUID->"1b2b4bcf-25ba-4e67-882f-9e6325045556"],
Cell[CellGroupData[{
Cell[115719, 3212, 235, 4, 28, "Input",ExpressionUUID->"9c4af208-c3d8-49b8-9f38-2c7aa8a4e754"],
Cell[115957, 3218, 765, 18, 48, "Output",ExpressionUUID->"ee51f52b-7bcc-4ca1-885b-ef71be9b91d5"]
}, Open  ]],
Cell[116737, 3239, 539, 14, 58, "Input",ExpressionUUID->"31402982-cccd-4378-9a63-441044640653"]
}, Open  ]],
Cell[CellGroupData[{
Cell[117313, 3258, 304, 5, 54, "Subsection",ExpressionUUID->"b2676548-d95b-492e-bde9-542577f2ef94"],
Cell[CellGroupData[{
Cell[117642, 3267, 217, 4, 28, "Input",ExpressionUUID->"d4a150a4-0243-4774-9499-227887c8429c"],
Cell[117862, 3273, 2593, 60, 88, "Output",ExpressionUUID->"62f71bec-a4d5-4f12-8ed0-a244d726bcea"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[120504, 3339, 512, 13, 53, "Subsection",ExpressionUUID->"001b5425-a896-45c5-a2c4-c0213d9d11b7"],
Cell[CellGroupData[{
Cell[121041, 3356, 525, 11, 28, "Input",ExpressionUUID->"c6f9864c-6958-4ebf-ab4c-8f9c641c7d40"],
Cell[121569, 3369, 2087, 45, 111, "Output",ExpressionUUID->"5c758665-d88a-432f-9a25-ba3efe77aaa7"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[123705, 3420, 278, 6, 54, "Subsection",ExpressionUUID->"e7c25194-78ed-4947-a20e-7f63a5a31b70"],
Cell[CellGroupData[{
Cell[124008, 3430, 266, 6, 28, "Input",ExpressionUUID->"f59c564a-83cd-43b2-9c10-3d17d2b3fcff"],
Cell[124277, 3438, 667, 16, 48, "Output",ExpressionUUID->"26a59d51-230c-4fb1-af09-da86f2a99726"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[124993, 3460, 252, 6, 54, "Subsection",ExpressionUUID->"cf25ffa2-3e8a-48e4-805b-b9f5236eaa79"],
Cell[125248, 3468, 198, 3, 35, "Text",ExpressionUUID->"5322cfe0-76b4-4167-a85f-d7097614322e"],
Cell[125449, 3473, 832, 26, 28, "Input",ExpressionUUID->"b5798d93-5547-40a7-9904-71ed17273aaf"],
Cell[126284, 3501, 195, 3, 35, "Text",ExpressionUUID->"cdb4354d-2c0c-44dd-bbf7-e6d9b2b9ae76"],
Cell[CellGroupData[{
Cell[126504, 3508, 281, 8, 43, "Input",ExpressionUUID->"83d1f33b-d082-424d-b0be-05baf3f3a3c0"],
Cell[126788, 3518, 670, 20, 62, "Output",ExpressionUUID->"d017723e-905d-4a9d-84f2-9db97a6f8418"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[127507, 3544, 256, 4, 54, "Subsection",ExpressionUUID->"a950ec25-c72f-4aff-b49c-38813b1f89ae"],
Cell[127766, 3550, 801, 19, 45, "Input",ExpressionUUID->"1026d779-7246-4792-a05f-aaf524c0bb34"],
Cell[CellGroupData[{
Cell[128592, 3573, 614, 16, 31, "Input",ExpressionUUID->"d09a6c99-c4d8-4455-8160-b6e8b78140fc"],
Cell[129209, 3591, 1287, 35, 48, "Output",ExpressionUUID->"f108443b-f794-492b-94ee-6d6468c2f15d"]
}, Open  ]],
Cell[CellGroupData[{
Cell[130533, 3631, 353, 6, 28, "Input",ExpressionUUID->"8a845557-a2c9-4dbf-a8a2-7a10d565b324"],
Cell[130889, 3639, 4794, 115, 64, "Output",ExpressionUUID->"d50702e5-04dc-4be5-a6fd-8a4917995316"]
}, Open  ]],
Cell[CellGroupData[{
Cell[135720, 3759, 298, 7, 28, "Input",ExpressionUUID->"ba307bb6-7e73-4f0d-941f-8ea08f04c7b2"],
Cell[136021, 3768, 3507, 109, 85, "Output",ExpressionUUID->"b82811ed-6c37-4f19-a6f6-e7a7e5dbd4f8"]
}, Open  ]],
Cell[139543, 3880, 400, 10, 43, "Input",ExpressionUUID->"ee4c6308-96b5-454f-ad9a-50c8bab642bf"],
Cell[CellGroupData[{
Cell[139968, 3894, 813, 20, 43, "Input",ExpressionUUID->"b7c25e66-8d76-49fa-8bac-bf7997e9653e"],
Cell[140784, 3916, 3035, 97, 82, "Output",ExpressionUUID->"95e000e1-e78d-423f-b9e1-8ef77b193b04"]
}, Open  ]],
Cell[143834, 4016, 688, 12, 104, "Text",ExpressionUUID->"b3205e31-b78e-4c56-ad01-9a99a51bb8b9"],
Cell[144525, 4030, 1992, 47, 105, "Input",ExpressionUUID->"09cdc31f-b9f7-4450-ac27-b56840d67ffb"],
Cell[CellGroupData[{
Cell[146542, 4081, 1157, 27, 45, "Input",ExpressionUUID->"4fb41d9b-bfe2-4641-be9d-940d7c5176b7"],
Cell[147702, 4110, 2462, 51, 48, "Output",ExpressionUUID->"09086fbe-5fd8-4fb9-be70-7f439591654b"]
}, Open  ]],
Cell[150179, 4164, 324, 7, 58, "Text",ExpressionUUID->"b33d05e9-351f-4f75-b45f-a4208720b5dd"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[150552, 4177, 266, 4, 67, "Section",ExpressionUUID->"4b95fe16-5124-41fa-b2d6-0d4bce0af041"],
Cell[150821, 4183, 442, 11, 43, "Input",ExpressionUUID->"3adc96a4-2e90-48da-bece-4ac35416622a"],
Cell[CellGroupData[{
Cell[151288, 4198, 325, 6, 54, "Subsection",ExpressionUUID->"ebe688ed-a284-4ab6-a260-2f0b89d1f3c6"],
Cell[151616, 4206, 263, 6, 35, "Text",ExpressionUUID->"f7dd562f-695d-4ddb-9414-da05b3b86be4"],
Cell[151882, 4214, 801, 27, 74, "Input",ExpressionUUID->"28473798-289f-4f6c-b0f9-c05b9629bd43"],
Cell[152686, 4243, 233, 4, 35, "Text",ExpressionUUID->"cf61edda-1aaa-42c8-a43a-495ee1c0f310"],
Cell[152922, 4249, 869, 22, 43, "Input",ExpressionUUID->"c680ec24-2237-46bc-a5f6-075a75728962"],
Cell[153794, 4273, 431, 8, 58, "Text",ExpressionUUID->"0f1d21b8-194d-4954-9c2f-f846838850cb"],
Cell[CellGroupData[{
Cell[154250, 4285, 325, 7, 28, "Input",ExpressionUUID->"fb7ebe61-6b4f-4a94-a010-dd4a44f45332"],
Cell[154578, 4294, 3856, 99, 86, "Output",ExpressionUUID->"118ae3ff-e215-4d8d-b3cf-a340462cc071"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[158495, 4400, 314, 5, 67, "Section",ExpressionUUID->"315048c3-df2e-44d8-92b0-9f711b02f0f3"],
Cell[CellGroupData[{
Cell[158834, 4409, 262, 5, 54, "Subsection",ExpressionUUID->"f078238f-9e18-4b78-aba0-a4558e90b159"],
Cell[159099, 4416, 454, 12, 43, "Input",ExpressionUUID->"7e1233ca-0ebc-495a-852f-9728f005a1e3"]
}, Open  ]],
Cell[CellGroupData[{
Cell[159590, 4433, 297, 4, 54, "Subsection",ExpressionUUID->"a60776c4-ccab-4087-95e3-ebe972ca0264"],
Cell[CellGroupData[{
Cell[159912, 4441, 304, 4, 45, "Subsubsection",ExpressionUUID->"0ab52749-81ef-4569-80d6-9d8f5cf9de18"],
Cell[CellGroupData[{
Cell[160241, 4449, 1476, 32, 64, "Input",ExpressionUUID->"3c46ad1f-d03a-449a-bdac-7ca894eeaec4"],
Cell[161720, 4483, 2405, 47, 82, "Output",ExpressionUUID->"6d967427-21ff-43e2-8921-f943189fd915"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[164174, 4536, 326, 5, 45, "Subsubsection",ExpressionUUID->"b05a8553-695b-4414-a032-aae30b43e6b2"],
Cell[164503, 4543, 590, 11, 58, "Text",ExpressionUUID->"f9c046d1-d0f6-4257-a647-10dcf4e9c7f1"]
}, Open  ]],
Cell[CellGroupData[{
Cell[165130, 4559, 227, 4, 45, "Subsubsection",ExpressionUUID->"4777db92-6df6-4856-af10-b94d04826378"],
Cell[165360, 4565, 437, 9, 58, "Text",ExpressionUUID->"3f30f329-38d1-4f33-8604-d39b1ad866f3"],
Cell[CellGroupData[{
Cell[165822, 4578, 1074, 27, 64, "Input",ExpressionUUID->"68d69a81-4cd5-4ac8-a21d-c9a6538d0d7e"],
Cell[166899, 4607, 1466, 35, 82, "Output",ExpressionUUID->"beb59da3-bd76-435d-995e-4fed8e2eb1b2"]
}, Open  ]],
Cell[168380, 4645, 354, 9, 35, "Text",ExpressionUUID->"2a7a9c50-9ab3-4977-bd2b-9dd0f6f8f855"],
Cell[CellGroupData[{
Cell[168759, 4658, 488, 11, 43, "Input",ExpressionUUID->"f7951fcc-bc30-43f1-b55e-21660d2591d3"],
Cell[169250, 4671, 1061, 34, 116, "Output",ExpressionUUID->"1f36952f-02c8-4cee-b2eb-7b3c4d2e53a6"]
}, Open  ]],
Cell[170326, 4708, 449, 9, 81, "Text",ExpressionUUID->"d5f3e993-fca4-4c5c-96f7-b0732813ceb3"],
Cell[CellGroupData[{
Cell[170800, 4721, 1029, 24, 43, "Input",ExpressionUUID->"1bb55ad7-00e1-446f-a239-de4f1e353262"],
Cell[171832, 4747, 914, 31, 54, "Output",ExpressionUUID->"2a4e91d1-a4d4-4e0d-9a3c-5f129240d31c"]
}, Open  ]],
Cell[CellGroupData[{
Cell[172783, 4783, 617, 13, 48, "Input",ExpressionUUID->"e7c45cdb-8b5c-4f65-976c-f1f4080d3b53"],
Cell[173403, 4798, 1673, 37, 82, "Output",ExpressionUUID->"d04723fd-d73e-4ee2-9e1a-034b169c9f1e"]
}, Open  ]],
Cell[175091, 4838, 211, 4, 35, "Text",ExpressionUUID->"5eacb77b-9511-458f-962a-e13d4a7c7972"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[175363, 4849, 266, 4, 67, "Section",ExpressionUUID->"d264a300-cfe7-48e9-a814-cbdeb594ec04"],
Cell[175632, 4855, 350, 8, 43, "Input",ExpressionUUID->"d8ee6cef-5926-4b4c-98c6-7d74a80b1e23"],
Cell[175985, 4865, 1302, 37, 96, "Input",ExpressionUUID->"51894e1f-c647-47f7-8eaf-f70af507fd62"],
Cell[CellGroupData[{
Cell[177312, 4906, 242, 4, 54, "Subsection",ExpressionUUID->"1a86a965-6f93-41de-9734-34659b50fd30"],
Cell[CellGroupData[{
Cell[177579, 4914, 384, 6, 28, "Input",ExpressionUUID->"f7a913c3-d981-4c5e-ba14-be10ec6a809c"],
Cell[177966, 4922, 1148, 34, 59, "Output",ExpressionUUID->"dea11627-e740-444f-a055-9ca1b64418ee"]
}, Open  ]],
Cell[CellGroupData[{
Cell[179151, 4961, 279, 6, 28, "Input",ExpressionUUID->"0bb0a95a-d0ed-4a6b-9937-51d4731375df"],
Cell[179433, 4969, 807, 22, 32, "Output",ExpressionUUID->"3602d9e0-b1f5-49e3-b98d-94fbcd0cd082"]
}, Open  ]],
Cell[180255, 4994, 261, 6, 35, "Text",ExpressionUUID->"0f97c594-00fe-49ca-91dc-41b91502bae2"]
}, Open  ]],
Cell[CellGroupData[{
Cell[180553, 5005, 233, 4, 54, "Subsection",ExpressionUUID->"d559becc-d5e1-4c65-98ef-b5f14ae1e205"],
Cell[CellGroupData[{
Cell[180811, 5013, 548, 11, 43, "Input",ExpressionUUID->"47eddeec-ad27-4dac-9f5c-d3287f7977da"],
Cell[181362, 5026, 745, 17, 32, "Output",ExpressionUUID->"0d397c29-dece-4fda-9866-314da8540bf5"]
}, Open  ]],
Cell[182122, 5046, 258, 6, 35, "Text",ExpressionUUID->"6bf088a0-b5c1-4d54-8c7f-7cb092f41367"],
Cell[CellGroupData[{
Cell[182405, 5056, 248, 4, 28, "Input",ExpressionUUID->"c08028e8-862d-47d4-ad36-cc7dcf8b9a36"],
Cell[182656, 5062, 8910, 185, 306, "Output",ExpressionUUID->"dc5a53b4-4279-44c4-b2e9-ec67caf6b969"]
}, Open  ]],
Cell[191581, 5250, 218, 5, 35, "Text",ExpressionUUID->"2813fba0-0186-4a0e-9d8f-cb07c433aea9"],
Cell[CellGroupData[{
Cell[191824, 5259, 300, 6, 43, "Input",ExpressionUUID->"e64c9a60-833c-488e-982b-ca2b20dd3663"],
Cell[192127, 5267, 278, 5, 32, "Output",ExpressionUUID->"e86d6731-2677-4037-b271-6e2ef181abb7"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[192454, 5278, 413, 8, 81, "Subsection",ExpressionUUID->"c43600e6-d833-4754-8e99-669588c32a57"],
Cell[CellGroupData[{
Cell[192892, 5290, 474, 11, 43, "Input",ExpressionUUID->"7c61930d-bf92-4b2d-9218-96344aa02dd8"],
Cell[193369, 5303, 15558, 332, 353, "Print",ExpressionUUID->"c310a380-76d7-4e7b-9326-cbb65efaad27"]
}, Open  ]],
Cell[208942, 5638, 727, 16, 58, "Text",ExpressionUUID->"02fa758c-a340-4506-9d19-49815181ce1b"],
Cell[209672, 5656, 204, 3, 35, "Text",ExpressionUUID->"6a7c37b4-b64a-4ef3-82ad-099bd24295f1"],
Cell[CellGroupData[{
Cell[209901, 5663, 195, 4, 43, "Input",ExpressionUUID->"1716b6d6-729d-427f-89e7-6ebbcc105aff"],
Cell[210099, 5669, 10556, 229, 380, "Output",ExpressionUUID->"4a602bac-796a-4a2d-a104-628a16e69fcb"]
}, Open  ]],
Cell[220670, 5901, 1346, 45, 63, "Text",ExpressionUUID->"c8abb1f4-5cbd-4519-921f-c58c51016154"],
Cell[222019, 5948, 1251, 35, 106, "Input",ExpressionUUID->"105a846d-a6bb-407e-8007-06019265f671"],
Cell[223273, 5985, 1316, 41, 69, "Input",ExpressionUUID->"d1cb87ca-b66b-4568-9678-574d0e5c8d69"],
Cell[CellGroupData[{
Cell[224614, 6030, 232, 5, 43, "Input",ExpressionUUID->"c3d4787a-7351-40b1-a020-3ec5db66f2e6"],
Cell[224849, 6037, 10557, 229, 380, "Output",ExpressionUUID->"e488acdd-a870-4518-8065-a4a2f85f7be9"]
}, Open  ]],
Cell[235421, 6269, 170, 3, 35, "Text",ExpressionUUID->"9d295dce-058a-45ce-931d-e9082514e4a6"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[235640, 6278, 288, 4, 67, "Section",ExpressionUUID->"ebef2e91-e2b1-4c03-beed-427a5410a391"],
Cell[235931, 6284, 956, 29, 59, "Input",ExpressionUUID->"c4b912bb-03d8-489a-a616-72c95efd9e59"],
Cell[236890, 6315, 387, 7, 35, "Text",ExpressionUUID->"3d172752-bec7-457d-9747-4836ac55f86f"],
Cell[CellGroupData[{
Cell[237302, 6326, 267, 6, 43, "Input",ExpressionUUID->"d582dbac-877f-49ae-9184-d5e78eeb3cdc"],
Cell[237572, 6334, 5710, 112, 290, "Output",ExpressionUUID->"d5c886a5-5713-4e88-850c-230e5a909ba8"]
}, Open  ]]
}, Open  ]]
}, Open  ]]
}
]
*)

